目录
一、什么是Logistic回归?
1.基本概念
它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别),通过给定的n组数据(训练集)来训练模型,并在训练结束后对给定的一组或多组数据(测试集)进行分类。其中每一组数据都是由p 个指标构成。
2.使用Logistic回归处理数据分析
假设有3个指标(工资,年龄,可贷款金额),然后需要根据工资和年龄来判断这个人的可贷款金额大概是多少。
工资 | 年龄 | 可贷款金额 |
4000 | 26 | 20000 |
8000 | 36 | 70000 |
12000 | 46 | 85000 |
假设以工资为x1轴,年龄为x2轴,可贷款金额为Y轴,可以建立一个3维的空间点
二、Logistic回归的步骤
1.构造预测函数
由于线性回归的输出值域为负无穷到正无穷,不能直接应用于分类,可以构造一个sigmoid()函数,将大于0的值映射为1,小于0的值映射为0,这样我们就可以达到分类的目的。
首先线性回归模型可以为:
,然后对回归值进行变换:
得到对数几率函数:
,将z值转化为一个接近0或1的y值,且当z值远离0时,y值迅速靠近0或1。
代码如下
import matplotlib.pyplot as plt
import numpy as np
def sigmoid(z):
return 1.0 / (1.0 + np.exp(-z))
z = np.arange(-6, 6, 0.05)
plt.plot(z, sigmoid(z))
plt.axvline(0.0, color='k')
plt.axhline(y=0.0, ls='dotted', color='k')
plt.axhline(y=1.0, ls='dotted', color='k')
plt.axhline(y=0.5, ls='dotted', color='k')
plt.yticks([0.0, 0.5, 1.0])
plt.ylim(-0.1, 1.1)
plt.show()
结果如下: