我正在使用sklearn
来训练模型。火车dataset
约为3000k
,因此我使用SGDClassifier
。功能不是很好,所以我知道它可能不会收敛。但我希望SGDClassifier
根据我的设置尽早停止,就像max_iter = 1000
一样。就我而言,函数SGDClassifier
没有像max_iter
这样的参数。我该怎么做?
这是代码。
这是打印信息。
任何帮助将不胜感激......
答案 0 :(得分:0)
这很奇怪,默认情况下scikit-learn 0.18.2,n_iter
设置为5个纪元。您能否使用脚本更新您的问题,该脚本可以使用玩具数据集重现行为(例如使用numpy.random.randn
或类似物生成)。
请注意,在scikit-learn master和0.19一旦发布,n_iter
将被弃用并由max_iter
和tol
替换(例如设置为1e-3)以自动停止当目标函数不再发展时。
答案 1 :(得分:0)
运行20小时可能并不那么奇怪,因为你有一个3000k的数据集而你使用的SGDClassifier
很慢。你有什么处理器?
如果您在Windows中,请尝试使用CTRL + C停止它。然后,使用n_iter
来控制所需的迭代次数。但默认值为5。
最后,如果你想保存一个模型,请看这里:
Save and Load Machine Learning Models in Python with scikit-learn