Python scikit学习中SGDClassizer的正则化参数和迭代
Python scikit learn sgdclassizer()支持l1、l2和elastic,找到正则化参数的最佳值似乎很重要 我得到一个建议,使用SGDClassizer()和GridSearchCV()来实现这一点,但在SGDClassizer中,它只提供正则化参数alpha。 如果我使用损失函数,如SVM或LogisticRegression,我认为应该有C,而不是alpha来进行参数优化。 在使用Logistic回归或SVM时,有没有办法在SGDClassizer()中设置最佳参数Python scikit学习中SGDClassizer的正则化参数和迭代,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,Python scikit learn sgdclassizer()支持l1、l2和elastic,找到正则化参数的最佳值似乎很重要 我得到一个建议,使用SGDClassizer()和GridSearchCV()来实现这一点,但在SGDClassizer中,它只提供正则化参数alpha。 如果我使用损失函数,如SVM或LogisticRegression,我认为应该有C,而不是alpha来进行参数优化。 在使用Logistic回归或SVM时,有没有办法在SGDClassizer()中设置最佳参数
此外,我还有一个关于迭代参数n_iter的问题,但我不理解这个参数的含义。如果与洗牌选项一起使用,它是否像装袋一样工作?所以,如果我使用l1惩罚和n_iter的大值,它会像RandomizedLasso()一样工作吗?
C
和alpha
都有相同的效果。区别在于术语的选择C
与1/alpha
成比例。您应该使用GridSearchCV
以同样的方式选择alpha
或C
,但请记住C
越高越可能过度拟合,而alpha
越低越可能过度拟合
L2将生成具有许多小系数的模型,其中L1将选择具有大量0系数和一些大系数的模型。弹性网是两者的结合
sgdclassiner
使用随机梯度下降法,其中数据通过学习算法逐样本输入。n_iter
告诉它应该对数据进行多少次传递。随着迭代次数的增加和学习速度的下降,SGD变得更像批梯度下降,但也变得更慢 多谢各位。那么,如果我想获得逻辑回归的C=0.1的相同效果,我应该使用损失函数SVM将SGDClassizer的alpha设置为10吗?“但请记住,较高的C更可能过度拟合,较低的alpha更可能过度拟合。”或者请记住,较高的C更可能过度拟合,较低的alpha更可能欠拟合?