ValueError:未知标签类型:使用决策树分类器和自定义数据集时的数组

lor*_*das 0 python numpy decision-tree scikit-learn

下面给出的是我的代码

dataset = np.genfromtxt('train_py.csv', dtype=float, delimiter=",")
X_train, X_test, y_train, y_test = train_test_split(dataset[:,:-1],dataset[:,-1], test_size=0.2,random_state=0)
model = tree.DecisionTreeClassifier(criterion='gini')
#y_train = y_train.tolist()
#X_train = X_train.tolist()
model.fit(X_train, y_train)
model.score(X_train, y_train)
predicted= model.predict(x_test)
Run Code Online (Sandbox Code Playgroud)

我正在尝试在使用numpy库导入的自定义数据集上使用决策树分类器。但是当我尝试拟合模型时,我得到了ValueError。我尝试同时使用numpy数组和非numpy数组(例如列表),但似乎仍然无法找出导致错误的原因。任何帮助表示赞赏。

    Traceback (most recent call last):
  File "tree.py", line 19, in <module>
    model.fit(X_train, y_train)
  File "/usr/local/lib/python2.7/dist-packages/sklearn/tree/tree.py", line 177, in fit
    check_classification_targets(y)
  File "/usr/local/lib/python2.7/dist-packages/sklearn/utils/multiclass.py", line 173, in check_classification_targets
    raise ValueError("Unknown label type: %r" % y)

ValueError: Unknown label type: array([[ 252.3352],....<until end of array>
Run Code Online (Sandbox Code Playgroud)

Ari*_*old 6

python(scikit-learn)希望您传递类似于标签的内容,例如:整数,字符串等。float不是有限空间的典型编码形式,它们用于回归。

docu : fit X_train训练输入样本。在内部,它将转换为dtype = np.float32,并且如果将稀疏矩阵提供给稀疏csc_matrix。

  • 谢谢。传递“Y_train.astype(int)”和“X_train.astype(int)”就可以了 (3认同)