【问题标题】:Sklearn train test splitSklearn 训练测试拆分
【发布时间】:2021-06-28 06:15:36
【问题描述】:

我已从 UCI(避孕方法选择数据集)加载数据集,需要执行 sklearn train/test/split。当我尝试使用时:

X_train, X_test, Y_train, Y_test = train_test_split(contraception_data, contraception_data.target, test_size = 0.5, random_state = 1)

我在运行代码时收到此错误,任何原因:

AttributeError: 'DataFrame' object has no attribute 'target'

【问题讨论】:

  • 检查数据框是否有列名 traget 没有目标列如何将列与数据集分开

标签: python scikit-learn


【解决方案1】:

有问题的数据集有 10 列,最后一列是目标变量(使用的避孕方法)。

由于没有列名,选择 X 和 y 的最简单方法是使用数据帧的 iloc 方法,该方法按索引或切片进行选择。在这里,您可以使用 [:, :-1] 获取除最后一列之外的所有行和所有列,并使用 [:, -1] 获取所有行和仅最后一列。

from sklearn.model_selection import train_test_split

X_train, X_test, Y_train, Y_test = train_test_split(contraception_data.iloc[:, :-1], contraception_data.iloc[:, -1], test_size=0.5, random_state=1)

【讨论】:

    猜你喜欢
    • 2020-09-01
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 2019-04-11
    相关资源
    最近更新 更多