scikit-learn能处理多少功能?



我有一个[66k, 56k]大小的csv文件(行,列)。它是一个稀疏矩阵。我知道那个笨蛋能处理这么大的矩阵。我想知道根据每个人的经验,scikit-learn算法可以轻松处理多少功能?

取决于估计者。在这种规模下,线性模型仍然表现良好,而支持向量机可能需要很长时间来训练(忘记随机森林,因为它们不会处理稀疏矩阵)。

我个人使用LinearSVC, LogisticRegressionSGDClassifier的稀疏矩阵大小大约为300k × 330万,没有任何麻烦。请参阅@amueller的scikit-learn小抄,为手头的工作选择合适的估价师。

完全披露:我是一个scikit-learn核心开发者。

如果你需要经常训练你的模型,一些线性模型(回归,SGD,贝叶斯)可能是你最好的选择。

尽管在运行任何模型之前,您可以尝试以下

1)特征约简。你的数据中是否有可以轻易删除的特征?例如,如果您的数据是基于文本或评级的,那么就有许多已知的选项可用。

2)学习曲线分析。也许你只需要一小部分数据来训练一个模型,之后你只能拟合你的数据,或者在准确性上获得微小的提高。

这两种方法都可以让你大大减少所需的训练数据。

相关内容

  • 没有找到相关文章