sklearn中LogisticRegression参数说明:

sklearn中LogisticRegression参数说明:

sklearn.linear_model.LogisticRegression
LogisticRegression(penalty=‘l2’, dual=False,
tol=0.0001, C=1.0, fit_intercept=True,
intercept_scaling=1, class_weight=None,
random_state=None, solver=‘warn’, max_iter=100,
multi_class=‘warn’, verbose=0,
warm_start=False, n_jobs=None)

  • penalty:惩罚项,可为’l1’ or ‘l2’。‘netton-cg’, ‘sag’, ‘lbfgs’只支持’l2’。

    1. ‘l1’正则化的损失函数不是连续可导的,而’netton-cg’, ‘sag’, 'lbfgs’这三种算法需要损失函数的一阶或二阶连续可导。
    2. 调参时如果主要是为了解决过拟合,选择’l2’正则化就够了。若选择’l2’正则化还是过拟合,可考虑’l1’正则化。
    3. 若模型特征非常多,希望一些不重要的特征系数归零,从而让模型系数化的话,可使用’l1’正则化。
  • dual:选择目标函数为原始形式还是对偶形式。
    将原始函数等价转化为一个新函数,该新函数称为对偶函数。对偶函数比原始函数更易于优化。

  • tol:优化算法停止的条件。当迭代前后的函数差值小于等于tol时就停止。

  • C:正则化系数。其越小,正则化越强。

  • fit_intercept:选择逻辑回归模型中是否会有常数项b

  • intercept_scaling:

  • class_weight:用于标示分类模型中各种类型的权重,{class_label: weight} or ‘balanced’。

    1. ‘balanced’:类库根据训练样本量来计算权重。某种类型的样本量越多,则权重越低。
    2. 若误分类代价很高,比如对合法用户和非法用户进行分类,可适当提高非法用户的权重。
    3. 样本高度失衡的。如合法用户9995条,非法用户5条,可选择’balanced’,让类库自动提高非法用户样本的权重。
  • random_state:随机数种子。

  • solver:逻辑回归损失函数的优化方法。

    1. ‘liblinear’:使用坐标轴下降法来迭代优化损失函数。
    2. ‘lbfgs’:拟牛顿法的一种。利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
    3. ‘newton-cg’:牛顿法的一种。同上。
    4. ‘sag’:随机平均梯度下降。每次迭代仅仅用一部分的样本来计算梯度,适合于样本数据多的时候。
    5. 多元逻辑回归有OvR(one-vs-rest)和MvM(many-vs-many)两种,而MvM一般比OvR分类相对准确一些。但是,'liblinear’只支持OvR。
  • max_iter:优化算法的迭代次数。

  • multi_class:‘ovr’ or ‘multinomial’。'multinomial’即为MvM。

    1. 若是二元逻辑回归,二者区别不大。
    2. 对于MvM,若模型有T类,每次在所有的T类样本里面选择两类样本出来,把所有输出为该两类的样本放在一起,进行二元回归,得到模型参数,一共需要T(T-1)/2次分类。
  • verbose:控制是否print训练过程。

  • warm_start:

  • n_jobs:用cpu的几个核来跑程序。

sklearn.linear_model.LogisticRegressionCV

  • 相比于LogisticRegression,LogisticRegressionCV使用交叉验证来选择正则化系数C。
Logistic回归模型是一种二元分类模型,主要用于处理二分类问题。在sklearnLogisticRegression类是实现Logistic回归模型的类。下面对LogisticRegression类的主要参数及功能进行解释说明。 1. 参数 (1)penalty:正则化项,取值为l1或l2,默认为l2。 (2)C:正则化强度的倒数,取值为大于0的浮点数,默认为1.0。 (3)fit_intercept:是否需要截距,取值为布尔型,默认为True。 (4)solver:优化算法,取值为newton-cg, lbfgs, liblinear, sag, saga的一个,默认为liblinear。 (5)max_iter:最大迭代次数,取值为正整数,默认为100。 (6)multi_class:多分类问题的处理方式,取值为ovr或multinomial,默认为ovr。 (7)n_jobs:指定CPU数,-1表示使用全部CPU,默认为1。 2. 功能 (1)fit(X, y):用训练集数据X和标签y拟合模型,训练模型。 (2)predict(X):用训练好的模型预测测试集数据X的标签。 (3)score(X, y):用测试集数据X和标签y计算模型的精度。 (4)intercept_:返回模型的截距。 (5)coef_:返回模型的系数。 (6)get_params():获取模型的参数。 (7)set_params(**params):设置模型的参数。 在代码3_Otto_train_LR.pyLogisticRegression类的主要使用方式为先用训练集数据和标签拟合模型,然后用测试集数据检验模型的性能。具体实现方式为: (1)定义LogisticRegression类对象lr,并设置C=1.0,multi_class='ovr'等参数。 (2)用训练集数据和标签拟合模型lr.fit(train_X, train_y)。 (3)用测试集数据预测标签lr.predict(test_X),并计算模型精度lr.score(test_X, test_y)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值