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():将系数矩阵转换为稀疏格式