有多少功能可以scikit学习处理?(How many features can scikit-le

2019-09-01 15:59发布

我有[66K,56K]大小(行,列)的CSV文件。 它是一个稀疏矩阵。 我知道numpy的可以处理该尺寸的矩阵。 我想知道,根据每个人的经验,有多少功能scikit学习算法可以从容应付?

Answer 1:

取决于估计。 在这种规模,线性模型仍然表现良好,而支持向量机可能会永远采取列车(而忘记了随机森林,因为他们不会处理稀疏矩阵)。

我个人使用LinearSVCLogisticRegressionSGDClassifier与尺寸大致300K×330万的稀疏矩阵没有任何麻烦。 见@ amueller的scikit学习小抄为选择合适的估计手头的工作。

披露:我是一个scikit学习的核心开发人员。



Answer 2:

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

虽然你去跑步任何模型之前,你可以尝试以下方法

1)特性降低。 在你的数据有特点,可以很容易地被删除? 例如,如果你的数据是基于文本或评级有很多知名可供选择。

2)学习曲线分析。 也许你只需要你的数据来训练模型的一小部分,在那之后你只安装到您的数据或获取精度的微小增加。

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



文章来源: How many features can scikit-learn handle?