先看看有那些参数:
penalty='l2',
dual=False,
tol=0.0001,
C=1.0,
fit_intercept=True,
intercept_scaling=1,
class_weight=None,
random_state=None,
solver='lbfgs',
max_iter=100,
multi_class='auto',
verbose=0,
warm_start=False,
n_jobs=None,
l1_ratio=None,
-
penalty:‘l1’ or ‘l2’。用来防止过拟合的参数,原理是在损失函数后面加上一个正则项。‘l1’是加上一个L1范式,‘l2’是加上一个L2范式。L1 范式是每个参数的绝对值之和;L2范式是每个参数的平方和的开方值。
L1正则化会将参数压缩为0,让参数变稀疏,让那些信息少的特征快速的被压缩到0,L1本质是一个特征选取的过程,防止过拟合,如果特征特别多就用L1。
L2正则会只会让参数尽量小,不会取到0,如果目的是过拟合就用L2,默认也是l2。 -
C: 正则化强度的倒数。默认1.0 。C越小对损失函数的惩罚越重,正则化的效力越强,惩罚过拟合也越严厉,参数Theta也会被压缩的越来越小。
-
max_iter 最大迭代次数,逻辑回归虽然叫回归但是并不使用最小二乘法OLS。逻辑回归往往使用坐标法,梯度下降法以及牛顿法,都是需要迭代的方法。因此如果max_iter,会警告说以达到最大迭代次数,但是还是没有收敛的情况。
-
class_weight&