sklearn SGDClassifier不能停止

时间:2017-07-03 06:28:27

标签: scikit-learn

我正在使用sklearn来训练模型。火车dataset约为3000k,因此我使用SGDClassifier。功能不是很好,所以我知道它可能不会收敛。但我希望SGDClassifier根据我的设置尽早停止,就像max_iter = 1000一样。就我而言,函数SGDClassifier没有像max_iter这样的参数。我该怎么做? 这是代码。 enter image description here

这是打印信息。 enter image description here

任何帮助将不胜感激......

2 个答案:

答案 0 :(得分:0)

这很奇怪,默认情况下scikit-learn 0.18.2,n_iter设置为5个纪元。您能否使用脚本更新您的问题,该脚本可以使用玩具数据集重现行为(例如使用numpy.random.randn或类似物生成)。

请注意,在scikit-learn master和0.19一旦发布,n_iter将被弃用并由max_itertol替换(例如设置为1e-3)以自动停止当目标函数不再发展时。

答案 1 :(得分:0)

运行20小时可能并不那么奇怪,因为你有一个3000k的数据集而你使用的SGDClassifier很慢。你有什么处理器?

如果您在Windows中,请尝试使用CTRL + C停止它。然后,使用n_iter来控制所需的迭代次数。但默认值为5。

最后,如果你想保存一个模型,请看这里:

Save and Load Machine Learning Models in Python with scikit-learn