我有一个大小为[66k, 56k]的csv文件(行数,列数)。这是一个稀疏矩阵。我知道numpy可以处理这种大小的矩阵。根据大家的经验,我想知道scikit-learn的算法能够舒适处理多少特征?
回答:
这取决于估计器。在这种规模下,线性模型仍然表现良好,而支持向量机(SVM)可能需要永远的时间来训练(至于随机森林,它们根本无法处理稀疏矩阵)。
我个人使用过LinearSVC
、LogisticRegression
和SGDClassifier
处理大小约为300k × 330万的稀疏矩阵,没有遇到任何问题。请参考@***的scikit-learn备忘单,以选择适合当前任务的正确估计器。
完全披露:我是scikit-learn的核心开发者。