但是很多时候数据是非线性的,所以这篇文章主要讲述逻辑回归及Sklearn机器学习包中的LogisticRegression算法
#2018-03-28 16:57:56 March Wednesday the 13 week, the 087 day SZ SSMR
python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据
线性回归模型通常是处理因变量是连续变量的问题,如果因变量是定性变量,线性回归模型就不再适用了,需采用逻辑回归模型解决。
一. 逻辑回归
逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法。
概率p与因变量往往是非线性的,为了解决该类问题,我们引入了logit变换,使得logit(p)与自变量之
间存在线性相关的关系,逻辑回归模型定义如下:
Sigmoid曲线:
import matplotlib.pyplot as plt
import numpy as np
def Sigmoid(x):
return 1.0 / (1.0 + np.exp(-x))
x= np.arange(-10, 10, 0.1)
h = Sigmoid(x) #Sigmoid函数
plt.plot(x, h)
plt.axvline(0.0, color='k') #坐标轴上加一条竖直的线(0位置)
plt.axhspan(0.0, 1.0, facecolor='1.0', alpha=1.0, ls='dotted')
plt.axhline(y=0.5, ls='dotted', color='k') #在y=0.5的地方加上黑色虚线
plt.yticks([0.0, 0.5, 1.0]) #y轴标度
plt.ylim(-0.1, 1.1) #y轴范围
plt.show()
二. LogisticRegression回归算法
LogisticRegression回归模型在Sklearn.linear_model子类下,调用sklearn逻辑回归算法步骤比较简单,即:
(1) 导入模型。调用逻辑回归LogisticRegression()函数。
(2) fit()训练。调用fit(x,y)的方法来训练模型,其中x为数据的属性,y为所属类型。
(3) predict()预测。利用训练得到的模型对数据集进行预测,返回预测结果。
三. 分析鸢尾