逻辑回归虽然名称里有回归两个字,但是逻辑回归主要用来解决分类问题,并且只能解决二分类问题。(当然逻辑回归也可以解决回归问题;同时逻辑回归可以通过OvO、OvR等方法实现多分类,但本质还是二分类。)
逻辑回归与线性回归不同的是,线性回归得出的是一个具体的预测值,预测房价的模型得出的就是房价,预测成绩的模型得出的就是成绩,而逻辑回归得出的是概率,通过概率大于小于来进行分类。下面是逻辑回归的公式:
接下来通过代码,来具体看看逻辑回归是怎么一回事。
先导入基本类库,生成模拟数据集,并且增加噪声
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(666)
X = np.random.normal(0, 1, size=(200, 2))
y = np.array((X[:,0]**2+X[:,1])<1.5, dtype='int')
for _ in range(20):
y[np.random.randint(200)] = 1
可视化数据
plt.scatter(X[y==0,0], X[y==0,1])
plt.scatter(X[y==1,0], X[y==1,1])