逻辑回归
-
线性回归。
y = wx + b. 找到因变量和自变量的线性关系。 -
sigmoid函数
sigmoid函数的定义域为(-∞, +∞),值域为(0,1)。图像如下。
- 当y=0时,对应的sigmoid函数值为0.5
- 当y趋近于无穷小时,对应的sigmoid函数值为0
- 当y趋近于无穷大时,对应的sigmoid函数值为1
-
逻辑回归 = 线性回归+sigmoid函数。
已知sigmoid函数和线性回归方程为y=w0+w1x1+w2x2。将线性回归映射到sigmoid函数。
则y = 1/(1+exp(-(w0+w1x1+w2x2)))
以0.5为界,当映射到sigmoid的函数值大于0.5时,则预测结果(label)为1。以0.5为界,当映射到sigmoid的函数值小于0.5时,则预测结果(label)为0。即实现了二分类。 -
逻辑回归本质是一种分类方法
-
多分类逻辑回归由多个二分类逻辑回归组成
-
逻辑回归的基本步骤:
- 构建预测函数
- 构建损失函数:损失函数是体现“预测值”和“实际值”相似程度的函数。损失函数越小,拟合效果越好。可参考线性回归的最小平方法
- 使损失函数达到最小值,使用梯度下降法。
-
code
导入库
## 基础函数库
import numpy as np
## 导入画图库
import matplotlib.pyplot as plt
import seaborn as sns
## 导入逻辑回归模型函数
from sklearn.linear_model import LogisticRegression
训练模型
## 构造数据集
x_fearures = np.array([[-1, -2], [-2, -1], [-3, -2], [1, 3], [2, 1], [3, 2]])
y_label = np.array([0, 0, 0, 1, 1, 1])
## 调用逻辑回归模型
lr_clf = LogisticR