减少大数据集中的像素(sklearn)
Posted
技术标签:
【中文标题】减少大数据集中的像素(sklearn)【英文标题】:Reducing pixels in large data set (sklearn) 【发布时间】:2019-04-26 04:34:07 【问题描述】:我目前正在从事一个分类项目,但我不确定应该如何开始。
目标
将大小为 80*80(即 6400 像素)的图片准确分类到正确的类别(二进制)中。
设置
5260 个训练样本,600 个测试样本
问题
由于像素多于样本,在我开始制定分类方法(如 SVM、KNN 等)之前,“丢弃”大部分像素并只查看重要的像素似乎是合乎逻辑的。
假设训练数据由 X_train(预测变量)和 Y_train(结果)组成。到目前为止,我已经尝试从 sklearn 中查看 SelectKBest() 方法来进行特征提取。但是,使用这种方法并知道我实际上必须选择多少个 k 的最佳方法是什么?
也可能是我在这里完全走错了路,如果我错了,请纠正我,或者如果可能的话建议其他方法。
【问题讨论】:
【参考方案1】:您建议减少特征空间的维度。这是一种减少过拟合的正则化方法。你没有提到过拟合是一个问题,所以我会先测试一下。以下是我会尝试的一些事情:
使用迁移学习。为图像识别任务采用预训练网络,并将其微调到您的数据集。搜索迁移学习,你会发现很多资源。
在数据集上训练卷积神经网络。 CNN 是图像机器学习的首选方法。检查过拟合。
如果要降低数据集的维度,请调整图像大小。从 80x80 => 40x40 开始,像素数会减少 4 倍,假设您的任务不依赖于图像的精细细节,您应该保持分类性能。
您可能还需要考虑其他事项,但我需要了解更多有关您的问题及其要求的信息。
【讨论】:
以上是关于减少大数据集中的像素(sklearn)的主要内容,如果未能解决你的问题,请参考以下文章