python - DecisionTreeClassifier拟合方法错误(scikit learn)

标签 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: setting an array element with a sequence.

最佳答案

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

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

试试这个!

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

请检查您附加的数据的维度,以了解实际发生的情况。

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

关于python - DecisionTreeClassifier拟合方法错误(scikit learn),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53906587/

相关文章:

python - 检测灰度图像中是否存在黑色区域

tensorflow - 用于多标签分类的 keras 自定义指标

python - 在 Django 中创建时将用户添加到组

python - 如何将 python 日志输出存储到 mongoDb 中

python - 使用装饰器将所有 Unicode 字符串转换为二进制字符串是一种好习惯吗?

python - Boto3 使用旧凭据

python - 正则表达式在 Python 3 中将文本与分隔符匹配

machine-learning - 如何创建类似于 cifar-10 的数据集

python - 两个不同的子进程不生成唯一的编号

python-3.x - Azure Function-使用 python 代码解压缩受密码保护的文件