- Scikit Learn 教程
- Scikit Learn - 首页
- Scikit Learn - 简介
- Scikit Learn - 建模流程
- Scikit Learn - 数据表示
- Scikit Learn - 估计器API
- Scikit Learn - 约定
- Scikit Learn - 线性模型
- Scikit Learn - 扩展线性模型
- 随机梯度下降
- Scikit Learn - 支持向量机
- Scikit Learn - 异常检测
- Scikit Learn - K近邻算法
- Scikit Learn - KNN学习
- 朴素贝叶斯分类
- Scikit Learn - 决策树
- 随机决策树
- Scikit Learn - 集成方法
- Scikit Learn - 聚类方法
- 聚类性能评估
- 使用PCA进行降维
- Scikit Learn 有用资源
- Scikit Learn - 快速指南
- Scikit Learn - 有用资源
- Scikit Learn - 讨论
Scikit Learn - 逻辑回归
逻辑回归,尽管其名称如此,但它是一种分类算法而不是回归算法。基于一组给定的自变量,它用于估计离散值(0 或 1,是/否,真/假)。它也称为 logit 或 MaxEnt 分类器。
基本上,它通过使用其逻辑函数估计事件发生的概率来衡量分类因变量和一个或多个自变量之间的关系。
sklearn.linear_model.LogisticRegression 是用于实现逻辑回归的模块。
参数
下表列出了逻辑回归模块使用的参数:
序号 | 参数和描述 |
---|---|
1 |
penalty − str, ‘L1’, ‘L2’, ‘elasticnet’ 或 none,可选,默认 = ‘L2’ 此参数用于指定惩罚(正则化)中使用的范数(L1 或 L2)。 |
2 |
dual − 布尔值,可选,默认 = False 它用于对偶或原始公式,而对偶公式仅针对 L2 惩罚实现。 |
3 |
tol − 浮点数,可选,默认 = 1e-4 它表示停止标准的容差。 |
4 |
C − 浮点数,可选,默认 = 1.0 它表示正则化强度的倒数,必须始终为正浮点数。 |
5 |
fit_intercept − 布尔值,可选,默认 = True 此参数指定应向决策函数添加常数(偏差或截距)。 |
6 |
intercept_scaling − 浮点数,可选,默认 = 1 此参数在以下情况下有用:
|
7 |
class_weight − dict 或 ‘balanced’,可选,默认 = none 它表示与类相关的权重。如果我们使用默认选项,则表示所有类都应该具有权重 1。另一方面,如果您选择 class_weight: balanced,它将使用 y 的值来自动调整权重。 |
8 |
random_state − int,RandomState 实例或 None,可选,默认 = none 此参数表示生成的伪随机数的种子,在洗牌数据时使用。以下是选项:
|
9 |
solver − str, {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘saag’, ‘saga’},可选,默认 = ‘liblinear’ 此参数表示在优化问题中使用哪个算法。以下是此参数下选项的属性:
|
10 |
max_iter − int,可选,默认 = 100 顾名思义,它表示求解器收敛所采取的最大迭代次数。 |
11 |
multi_class − str, {‘ovr’, ‘multinomial’, ‘auto’},可选,默认 = ‘ovr’
|
12 |
verbose − int,可选,默认 = 0 默认情况下,此参数的值为 0,但对于 liblinear 和 lbfgs 求解器,我们应将 verbose 设置为任何正数。 |
13 |
warm_start − bool,可选,默认 = false 将此参数设置为 True,我们可以重用先前对拟合的调用的解作为初始化。如果我们选择默认值 false,它将擦除先前的解。 |
14 |
n_jobs − int 或 None,可选,默认 = None 如果 multi_class = ‘ovr’,此参数表示在对类进行并行化时使用的 CPU 内核数。当 solver = ‘liblinear’ 时,它将被忽略。 |
15 |
l1_ratio − 浮点数或 None,可选,默认 = None 当 penalty = ‘elasticnet’ 时使用。它基本上是 Elastic-Net 混合参数,其中 0 < = l1_ratio > = 1。 |
属性
下表包含逻辑回归模块使用的属性:
序号 | 属性和描述 |
---|---|
1 |
coef_ − 数组,形状 (n_features,) 或 (n_classes, n_features) 它用于估计决策函数中特征的系数。当给定问题为二元时,其形状为 (1, n_features)。 |
2 |
Intercept_ − 数组,形状 (1) 或 (n_classes) 它表示添加到决策函数中的常数,也称为偏差。 |
3 |
classes_ − 数组,形状 (n_classes) 它将提供分类器已知的类标签列表。 |
4 |
n_iter_ − 数组,形状 (n_classes) 或 (1) 它返回所有类的实际迭代次数。 |
实现示例
以下 Python 脚本提供了一个在 scikit-learn 的iris 数据集上实现逻辑回归的简单示例:
from sklearn import datasets from sklearn import linear_model from sklearn.datasets import load_iris X, y = load_iris(return_X_y = True) LRG = linear_model.LogisticRegression( random_state = 0,solver = 'liblinear',multi class = 'auto' ) .fit(X, y) LRG.score(X, y)
输出
0.96
输出显示上述逻辑回归模型的准确率为 96%。