gpt4 book ai didi

python - "TypeError: Singleton array cannot be considered a valid collection"使用sklearn train_test_split

转载 作者:行者123 更新时间:2023-11-30 08:40:32 26 4
gpt4 key购买 nike

类型错误:单例数组 array(0.2) 不能被视为有效集合。

X = df.iloc[:, [1,7]].values
y= df.iloc[:,-1].values
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, 0.2)

我在尝试 train_test_split 时收到此错误。我能够使用 X 和 y 值训练我的模型。但是,我想分割我的数据框,然后训练和测试它。

感谢任何帮助。

最佳答案

一个不太为人所知的事实是 train_test_split可以分割任意数量的数组,而不仅仅是两个(“train”和“test”)。请参阅链接的文档和 source code了解更多信息。

例如,

np.random.seed(0)
df1 = pd.DataFrame(np.random.choice(10, (5, 4)), columns=list('ABCD'))
y = df1.pop('C')
z = df1.pop('D')
X = df1

splits = train_test_split(X, y, z, test_size=0.2)
len(splits)
# 6

IOW,指定测试大小的唯一方法是指定关键字参数test_size。所有位置参数都被假定为要拆分的集合,在您的情况下,因为您这样做

train_test_split(X, y, 0.2)

该函数尝试拆分 0.2,但由于 float 不是集合,因此会引发错误。解决方案是(如上所述)指定关键字参数:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

关于python - "TypeError: Singleton array cannot be considered a valid collection"使用sklearn train_test_split,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53800369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com