DecisionTreeClassifier适合方法错误(scikit学习)

时间:2018-12-23 19:30:44

标签: python python-3.x machine-learning scikit-learn scikit-image

尝试使用fit方法训练 DecisionTreeClassifier

from sklearn import tree
import skimage

features = []
labels = []

for i in range(5):
    img = skimage.io.imread("circle" + str(i+1) + ".jpg")
    img = skimage.img_as_float(img)
    features.append(img)
    labels.append(0)

    img = skimage.io.imread("square" + str(i+1) + ".jpg")
    img = skimage.img_as_float(img)
    features.append(img)
    labels.append(1)

clf = tree.DecisionTreeClassifier()
clf = clf.fit(features, labels)

接收错误:

  

ValueError::使用序列设置数组元素。

2 个答案:

答案 0 :(得分:2)

如果执行以下操作,则将仅使用第一个像素值。

features.append(img[0][0])

尝试一下!

import numpy as np
features.append(np.array(img).flatten())

请检查数据的维度,您将对其进行追加以了解实际发生的情况。

print(np.array(img).flatten().shape)

答案 1 :(得分:0)

非常感谢Bazinga和9769953。

解决了替换问题

features.append(img)

使用

features.append(img[0][0])