当前位置:  开发笔记 > 编程语言 > 正文

scikit-learn中SGDC分类器的正则化参数和迭代

如何解决《scikit-learn中SGDC分类器的正则化参数和迭代》经验,为你挑选了1个好方法。

Python scikit-learn SGDClassifier()既支持l1,l2又支持弹性,找到正则化参数的最佳值似乎很重要.

我得到了一个建议,使用SGDClassifier()和GridSearchCV()来做这件事,但在SGDClassifier中只提供正则化参数alpha.如果我使用SVM或LogisticRegression等损失函数,我认为参数优化应该有C而不是alpha.使用Logisitic回归或SVM时,有没有办法在SGDClassifier()中设置最佳参数?

另外,我还有一个关于迭代参数n_iter的问题,但我不明白这个参数是什么意思.如果与shuffle选项一起使用,它是否像装袋一样工作?所以,如果我使用l1惩罚和n_iter的大值,它会像RandomizedLasso()一样工作吗?



1> David Maust..:

C并且alpha都具有相同的效果.不同之处在于术语的选择.C与...成正比1/alpha.您应该GridSearchCV选择相同alphaC相同的方式,但请记住,更高C的可能会过度拟合,而较低alpha的则更容易过度拟合.

L2将产生具有许多小系数的模型,其中L1将选择具有大量0系数和几个大系数的模型.弹性网是两者的结合.

SGDClassifier使用随机梯度下降,其中数据通过样本逐个学习算法.该n_iter告诉它有多少通过它应该在的数据.随着迭代次数的增加和学习率的下降,SGD变得更像批量梯度下降,但它也变得更慢.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有