Python内存错误 - Sklearn巨大的输入数据?

时间:2013-03-01 04:09:41

标签: python svm scikit-learn

我需要在sklearn中训练svm分类器。特征向量的维数达到数十万,并且存在数万个这样的特征向量。但是,每个维度可以是0,1或-1。每个特征向量中只有大约100个非零。是否有效地将特征向量的信息提供给分类器?

1 个答案:

答案 0 :(得分:2)

  

我需要在sklearn中训练svm分类器。

你的意思是sklearn.svm.SVC?对于高维稀疏数据和许多样本,LinearSVCLogisticRegressionPassiveAggressiveClassifierSGDClassifier可以更快地进行训练以获得可比较的预测准确性。

  

特征向量的维数以十万分之一为单位,并且有数万个这样的特征向量。但是,每个维度可以是0,1或-1。每个特征向量中只有大约100个非零。是否有效地将特征向量的信息提供给分类器?

找到一种将数据加载为scipy.sparse矩阵的方法,该矩阵不会将零存储在内存中。看看documentation on feature extraction。它将为您提供工具,具体取决于原始数据表示的性质。