解读Python sklearn.linear_model.LogisticRegression的用法
指定惩罚的范数:
'none'
: 不加罚分;'l2'
: 添加L2惩罚项,默认选择;'l1'
: 添加 L1 惩罚项;'elasticnet'
:添加了 L1 和 L2 惩罚项。
警告
某些惩罚可能不适用于某些求解器。请参阅下面的参数solver
,以了解惩罚和求解器之间的兼容性。
双重或原始配方。对偶公式仅适用于使用 liblinear 求解器的 l2 惩罚。当 n_samples > n_features 时首选 dual=False。
停止标准的公差。
正则化强度的倒数;必须是正浮点数。与支持向量机一样,较小的值指定更强的正则化。
指定是否应将常数(也称为偏差或截距)添加到决策函数。
仅当使用求解器 ‘liblinear’ 并且 self.fit_intercept 设置为 True 时才有用。在这种情况下,x 变为 [x, self.intercept_scaling],即,将常数值等于 intercept_scaling 的 “synthetic” 特征附加到实例向量。截距变为 intercept_scaling * synthetic_feature_weight
。
笔记!合成特征权重像所有其他特征一样受到 l1/l2 正则化。为了减少正则化对合成特征权重(因此对截距)的影响,必须增加intercept_scaling。
与 {class_label: weight}
形式的类关联的权重。如果没有给出,所有的类都应该有一个权重。
“balanced” 模式使用 y 的值自动调整与输入数据中的类频率成反比的权重,如 n_samples / (n_classes * np.bincount(y))
。
请注意,如果指定了 sample_weight,这些权重将乘以 sample_weight(通过 fit 方法传递)。
用于solver
== ‘sag’, ‘saga’ or ‘liblinear’ 对数据进行洗牌。有关详细信息,请参阅词汇表。
用于优化问题的算法。默认为‘lbfgs’。要选择求解器,您可能需要考虑以下方面:
对于小数据集,‘liblinear’ 是一个不错的选择,而对于大数据集,‘sag’ and ‘saga’ 更快;
对于多类问题,只有‘newton-cg’、‘sag’, ‘saga’ and ‘lbfgs’处理多项损失;
‘liblinear’ 仅限于 one-versus-rest 方案。
警告
算法的选择取决于选择的惩罚: 求解器支持的惩罚:
‘newton-cg’ - [‘l2’, ‘none’]
‘lbfgs’ - [‘l2’, ‘none’]
‘liblinear’ - [‘l1’, ‘l2’]
‘sag’ - [‘l2’, ‘none’]
‘saga’ - [‘elasticnet’, ‘l1’,‘l2’, ‘none’]
注意
‘sag’ and ‘saga’ 仅在具有大致相同尺度的特征上才能保证快速收敛。您可以使用来自 sklearn.preprocessing 的缩放器对数据进行预处理。
也可以看看
有关LogisticRegression 的更多信息,更具体地说是Table summarazing solver/penalty 支持,请参阅用户指南。
求解器收敛的最大迭代次数。
如果选择的选项是‘ovr’,那么每个标签都适合一个二元问题。对于‘multinomial’,最小化的损失是整个概率分布的多项损失拟合,即使数据是二进制的。 ‘multinomial’ 在solver='liblinear' 时不可用。 ‘auto’ 如果数据是二进制的,或者如果solver='liblinear',则选择‘ovr’,否则选择‘multinomial’。
对于 liblinear 和 lbfgs 求解器,将详细设置为任何正数以表示详细程度。
当设置为 True 时,重用之前调用的解决方案作为初始化,否则,只需擦除之前的解决方案。对 liblinear 求解器无用。请参阅词汇表。
如果multi_class='ovr'”,则在类上并行化时使用的 CPU 内核数。当solver
设置为‘liblinear’ 时忽略此参数,无论是否指定‘multi_class’。 None
表示 1,除非在 joblib.parallel_backend 上下文中。 -1
表示使用所有处理器。有关详细信息,请参阅词汇表。
Elastic-Net 混合参数,带有 0 <= l1_ratio <= 1
。仅在 penalty='elasticnet'
时使用。设置 l1_ratio=0
等效于使用 penalty='l2'
,而设置 l1_ratio=1
等效于使用 penalty='l1'
。对于 0 < l1_ratio <1
,惩罚是 L1 和 L2 的组合。
推荐阅读
-
Python3 字典的用法
-
解读Python sklearn.linear_model.LogisticRegression的用法
-
理解Python中的逻辑运算符 and、or 和 not 的用法
-
在Python 3中玩转 bytes 和 str:基础用法、不同编码间的转换以及列表、元组与字符串之间的互变技巧
-
玩转Python排序:深入理解sort与sorted函数的高级key参数用法
-
详解 Python 中 for i in range 的用法
-
Python 正则表达式匹配电话号码和电子邮件示例演示,正则表达式的基本用法
-
【每日一练】python三目运算符的用法
-
Python 控制键盘和鼠标输入的详细用法
-
python 中反向的用法是什么?