python - DecisionTreeClassifier fit 方法错误(scikit learn)
问题描述
尝试使用以下方法训练我的DecisionTreeClassifierfit
:
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:使用序列设置数组元素。
解决方案
如果您执行以下操作,您将只使用第一个像素值。
features.append(img[0][0])
尝试这个!
import numpy as np
features.append(np.array(img).flatten())
请检查您要附加的数据的维度,以了解实际发生的情况。
print(np.array(img).flatten().shape)
推荐阅读
- c++11 - 为什么 g++ 4.x 在作为参数传递时允许将 nullptr 隐式转换为另一种类型,但 > 5.x 不允许?
- python - PyODBC 错误:无结果。以前的 SQL 不是使用“SET NOCOUNT ON”的查询
- retrofit2 - 如果没有数据,如何使用 API 响应更新 Room DB?
- maven - 如何让 Maven Surefire 退出当前正在寻找测试的位置?
- enums - kotlin 从字符串到枚举的安全转换
- powershell - 运行脚本后保持电源外壳控制台打开
- javascript - 反应本机文本颜色不起作用
- javascript - 数组是否有 javascript 方法来知道最短元素?
- java - java中接受两种类型而不重复代码的单一方法
- excel - Outlook 共享帐户不会为所有用户同步