在scikit中使用libsvm格式

时间:2012-11-27 17:58:47

标签: machine-learning libsvm scikit-learn pca

我对所有这些工具都很陌生。我一直在使用libsvm并想使用scikit。但我的所有输入都是libsvm格式。像这样的东西

 +1 1:1 36:1
 +1 1:1 11:1 25:1 36:1

我使用load_svmlight_files函数加载,加载后加载的训练数据如下所示          (1,0)1.0          (1,35)1.0          (2,0)1.0          (2,10)1.0          (2,24)1.0          (2,35)1.0

但是当我尝试使用pylab散布它返回

   ValueError: setting an array element with a sequence.

如何将数据更改为scikit二维数组?

1 个答案:

答案 0 :(得分:6)

sklearn.datasets.load_svmlight_file会将数据加载为scipy.sparse CSR矩阵,而matplotlib散点图则需要一个numpy数组。您认为将稀疏数据实现为密集的numpy数组将适合内存,您可以在其上调用.toarray()方法。

散点图也只对二维阵列数据有意义。