16.4 在超大数据集上训练分类器
问题描述
在一个超大数据集上训练一个简单的分类器模型。
解决方案
在scikit-learn中通过LogisticRegression使用随机平均梯度(Stochastic Average Gradient,SAG)solver来训练一个逻辑回归模型:
讨论
scikit-learn的LogisticRegression提供了不少用于训练逻辑回归模型的方法,这些方法被称为solver。大部分情况下,scikit-learn会帮我们自动选择最佳solver,或者警告我们该solver不能做某些事情。
虽然本书中不会给出详尽的解释(如果想了解更多信息,可以看下面“延伸阅读”中列出的Mark Schmidt的讲义第264页),但是随机平均梯度算法确实可以使我们在超大数据集上比使用其他solver更快地训练出一个模型。有一点需要注意,它对于特征的单位特别敏感,所以标准化特征这个步骤尤其重要。我们可以在代码中设置solver='sag',让学习算法使用这个solver。
延伸阅读
●《通过随机平均梯度算法来最小化有限和》(Mark Schmidt,http://bit.ly/2GRrVw0)
本书评论