1、参数含义
args:
penalty='l2':惩罚项
* 值可以为'None','l1','l2','elasticnet'(L1与L2的结合);
* 如果发现l2正则后依然过拟合或者模型特征较多,可以尝试一下l1;
* penalty的值会影响损失函数优化算法solver参数的选择
l2:'liblinear','lbfgs','newton-cg','sag'
l1:'liblinear'
elasticnet:'saga'
dual=False:对偶或者原始方法
* 样本数大于特征数的情况下,默认为False
* 值为True,则求解对偶形式,只有在penalty='l2' 且solver='liblinear' 时有对偶形式
tol=0.0001:停止求解的标准,误差<tol的值时停止,认为已求出最优解
C=1.0:正则化系数λ的倒数,较小的值指定更强的正则化
fit_intercept=True:是否存在截距
intercept_scaling=1:仅在solver='liblinearlbfgs'且fit_intercept=True时有用
class_weight=None:各类型的权重
* 不设置含义为:不考虑权重,所有类型权重一样
* 可以设置为:class_weight='balanced',计算方法为:n_samples / (n_classes * np.bincount(y))
n_samples:样本数
n_classes:类别数
np.bincount(y):每个类的样本数
* 也可以自己设置,class_weight={0:0.9, 1:0.1}:表示0的权重为90%,1的权重为10%
* 当样本数据分类严重失衡或者误分类代价比较高的时候,需要设置该参数
random_state=None:随机数
solver='lbfgs':优化算法选择参数,对逻辑回归损失函数的优化方法
* liblinear(L1,L2):使用坐标轴下降法(适用于小样本)
* lbfgs(L2,None):拟牛顿法的一种,使用损失函数二阶导数矩阵即海森矩阵(适用于小样本)
* newton-cg(L2,None):也是牛顿法家族的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数(适用于大样本)
* sag(L2,None):随机平均梯度下降,每次迭代仅用一部分的样本来计算梯度(适用于大样本10w+)
* saga(L1,L2,None,elasticnet):线性收敛的随机优化算法(适用于大样本10w+)
max_iter=100:算法收敛最大迭代次数,solver的值为newton-cg、sag、lbfgs时才有用
multi_class='auto':分类方式选择参数
* 值可以为:'ovr','multinomial';
* 在二元逻辑回归上没有区别,主要区别在多元逻辑回归
ovr:one-vs-rest,不管多少元都当做二元处理,solver的值为liblinear、newton-cg、lbfgs、sag
multinomial:many-vs-many,若有T个分类,每次在T类样本里面选择两类,记为T1类和T2类,T1作为正例,T2作为负例,进行二元逻辑回归,得到模型参数,我们一共需要T(T-1)/2次分类
solver的值为newton-cg、lbfgs、sag
verbose=0:日志冗长度
* 0:就是不输出训练过程
* 1:偶尔输出结果
* >1:对于每个子模型都输出
warm_start=False:热启动参数,如果为True,那么使用前一次训练结果继续训练,否则从头开始训练,对于liblinear解算器没用
n_jobs=None:并行数,值为-1:使用所有CPU
l1_ratio=None:弹性网格参数
* 值为:0<l1_ratio<1:penalty='elasticnet'(L1与L2的结合)
* l1_ratio=0:penalty='l2'
* l1_ratio=1:penalty='l1'
2、methods
methods:
decision_function(X):预测样本的置信度得分
densify():将系数矩阵转换为密集数组格式
fit(X, y[, sample_weight]):拟合数据
* sample_weight:样本权重,如果用到了两个权重class_weight、sample_weight,那么最终的权重为:class_weight*sample_weight
get_params([deep]):设置的模型参数
predict(X):预测的样本类别
predict_log_proba(X):预测概率估计的对数
predict_proba(X):预测概率
score(X, y[, sample_weight]):预测的平均精度mean accuracy
set_params(**params):设置参数
sparsify():将系数矩阵转换为稀疏格式