gpt4 book ai didi

python - 在 sklearn 中的一维数组上使用 x.reshape

转载 作者:行者123 更新时间:2023-11-30 22:50:22 25 4
gpt4 key购买 nike

我尝试使用 sklearn 来使用简单的决策树分类器,它提示使用一维数组现在已被废弃,必须使用 X.reshape(1,-1)。所以我这样做了,但它已将我的标签列表变成了只有一个元素的列表列表,因此标签和样本的数量现在不匹配。换句话说,我的标签列表=[0,0,1,1]变成了[[0 0 1 1]]。谢谢

这是我使用的简单代码:

from sklearn import tree
import numpy as np
features =[[140,1],[130,1],[150,0],[170,0]]
labels=[0,0,1,1]
labels = np.array(labels).reshape(1,-1)
clf = tree.DecisionTreeClassifier()
clf = clf.fit(features,labels)
print clf.predict([150,0])

最佳答案

你正在 reshape 错误的事物。 reshape 您预测所依据的数据,而不是您的标签。

>>> clf.predict(np.array([150,0]).reshape(1,-1))
array([1])

您的标签必须与您的训练数据(特征)保持一致,因此两个数组的长度应该相同。如果标签被 reshape ,那么你是对的,它是一个长度为1且不等于你的特征长度的列表的列表。

您必须 reshape 测试数据,因为预测需要一个类似于训练数据的数组。即每个索引都需要是一个训练示例,其特征数量与训练中的特征数量相同。您将看到以下两个命令分别返回一个列表列表和一个列表。

>>> np.array([150,0]).reshape(1,-1)
array([[150, 0]])
>>> np.array([150,0])
array([150, 0])

关于python - 在 sklearn 中的一维数组上使用 x.reshape,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39391275/

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