如何将图像(多维数组)数据拟合到 python 中的随机森林分类器中?

Posted

技术标签:

【中文标题】如何将图像(多维数组)数据拟合到 python 中的随机森林分类器中?【英文标题】:How to fit image (multidimensional array) data into a random forest classifier in python? 【发布时间】:2020-12-13 14:36:03 【问题描述】:

我想使用 sklearn.ensemble 构建一个图像分类器

我有一个 X_train 图像列表

X_train[0].shape
Out[58]: (353, 1054, 3)

还有一个标量标签 y_train 的列表。

每个图像 X_train[i] 具有不同的形状。当我尝试将这些数据放入分类器时,出现以下错误

clf=RandomForestClassifier(n_estimators=100)

clf.fit(X_train,y_train)

ValueError: setting an array element with a sequence

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

最基本的解决方案是将图像扁平化为一行,每个像素都有一个元素。为最大图像的大小执行此操作,并为其他图像填充。

虽然这是一个糟糕的解决方案,而且可能效果不佳。

图像分类需要更复杂的方法,超出了这个问题的范围。

【讨论】:

以上是关于如何将图像(多维数组)数据拟合到 python 中的随机森林分类器中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将多维数组添加到序列化的 POST 数据中?

Python 大白从零开始 OpenCV 学习课-5. 图像的几何变换

将多维数组中的元素相乘

如何将多个图像作为输入传递给python脚本

数据库中数据写入多维数组,如何实现?

Numpy Polyfit 或 X 和 Y 多维数组的任何拟合