我从单张图像中提取了2个边缘特征(Hog特征和Sobel算子)。
如何在Scikit-learn的Python环境中创建一个类似于iris_dataset的图像特征数据集?在该库中,有代表数据集的CSV文件。这些CSV文件仅包含数字。这些数字是如何生成的?是通过特征提取吗?
遗憾的是,我只在这里看到一个Java教程 http://www.coccidia.icb.usp.br/coccimorph/tutorials/Tutorial-2-Creating-…,在第5点讲到了生成训练矩阵(平均和协方差矩阵)。Scikit-learn中有没有生成这些训练数组的函数?
回答:
你不需要将数据包装成CSV文件来加载为数据集。scikit-learn模型有一个fit
方法,它期望:
-
第一个参数是一个常规的numpy数组(或scipy.sparse矩阵),形状为
(n_samples, n_features)
(通常dtype=numpy.float64
),用于编码训练集中每个样本的特征向量, -
对于监督分类模型,第二个参数形状为
(n_samples,)
且dtype=numpy.int32
,用于编码训练集中每个样本的类别标签,标签以整数值编码。
如果你不了解基本的numpy数据结构以及shape
和dtype
的含义,我强烈建议你查看如SciPy讲义这样的教程。
编辑:如果你确实需要从numpy数组读取/写入数值CSV文件,你可以使用numpy.loadtxt
/ numpy.savetxt