【发布时间】:2015-11-05 10:46:29
【问题描述】:
我正在使用 Sci-Kit learn 的 svm 库对图像进行分类。我想知道当我拟合测试数据时,它是按顺序工作还是会删除以前的分类材料并重新拟合新的测试数据。例如,如果我将 100 个图像拟合到分类器中,我可以继续然后依次拟合另外 100 个图像,或者 SVM 是否会删除它在原始 100 个图像上执行的工作。这对我来说很难解释,所以我将提供示例:
为了使 SVM 分类器适合 200 个图像,我可以这样做:
clf=SVC(kernel='linear')
clf.fit(test.data[0:100], test.target[0:100])
clf.fit(test.data[100:200], test.target[100:200])
或者我必须这样做:
clf=SVC(kernel='linear')
clf.fit(test.data[:200], test.target[:200])
我之所以想知道,是因为我在尝试一次使用 .fit(X, y) 处理太多图像时遇到了内存错误。那么是否可以按顺序使用拟合并向上“增加”我的分类器,以便在技术上对 10000 个图像进行训练,但一次只能训练 100 个。
如果可以,请确认并解释?如果不可能,请解释一下?
【问题讨论】:
-
如果遇到内存错误,可以尝试降维和/或特征选择
-
我已经使用了降维,但还没有尝试过特征选择。如果我再缩小图像,我可能会丢失必要的像素数据。
标签: python machine-learning dataset scikit-learn