我想知道是否有办法在python
中为mlpy
使用scipy.sparse.csc_matrix
格式。我之前使用过mlpy,处理的都是非稀疏矩阵。例如,如果我有5个特征和每行一个标签(0或1),我会得到类似这样的数据:
2,3,4,5,6,01,2,3,4,5,1.....
现在,在我的下一个项目中,我有大约20,000个特征,因此在这种情况下创建稀疏矩阵会更容易。
我查看了mlpy关于k-means聚类的文档(因为我现在要做的就是聚类数据),文档说明:
Parameters : x : 2d array_like object (N, P)datak : int (1<k<N)number of clustersplus : boolk-means++ algorithm for initializationseed : intrandom seed for initializationReturns : clusters, means, steps: 1d array, 2d array, intcluster membership in 0,...,K-1, means (K,P), number of steps
我认为这意味着mlpy只接受非稀疏矩阵。如果我理解错了,请告诉我。
任何帮助都将不胜感激。谢谢!
回答:
我认为答案很简单,MLPy中的kmeans不支持稀疏输入。让算法能够处理稀疏输入并不是一件容易的事。
MiniBatchKMeans在scikit-learn中可以处理稀疏输入(免责声明:我是scikit-learn的开发者)。