减少大数据集中的像素(sklearn)

时间:2018-11-23 14:48:33

标签: image-processing scikit-learn classification

我目前正在从事分类项目,但是我对应该如何开始感到怀疑。

目标

将尺寸为80 * 80(即6400像素)的图片准确分类为正确的类(二进制)。

设置

5260个训练样本,600个测试样本

问题

由于像素多于样本,因此在我开始制定分类方法(如SVM,KNN等)之前,“丢弃”大多数像素并仅查看重要的像素似乎是我的逻辑。 / p>

说训练数据由X_train(预测变量)和Y_train(结果)组成。到目前为止,我已经尝试查看sklearn中的 SelectKBest()方法以进行特征提取。但是使用这种方法并知道我实际上要选择多少个k的最佳方法是什么?

在某些情况下,我可能完全走错了路,所以如果我错了,请纠正我,或者在可能的情况下建议其他解决方法。

1 个答案:

答案 0 :(得分:0)

您建议减小特征空间的尺寸。这是一种正规化方法,可以减少过度拟合的情况。您没有提到过拟合是一个问题,因此我将首先对其进行测试。这是我会尝试的一些方法:

  1. 使用转移学习。将一个经过预训练的网络用于图像识别任务,并将其微调到您的数据集。搜索转学,您会发现很多资源。

  2. 在数据集中训练卷积神经网络。 CNN是图像机器学习的首选方法。检查是否过拟合。

  3. 如果要减小数据集的维数,请调整图像大小。从80x80 => 40x40开始,如果您的任务不取决于图像的精细细节,则像素数量将减少4倍。

您可能还需要考虑其他事项,但我需要更多地了解您的问题及其要求。