Iris鸢尾花数据集的逻辑回归分析

逻辑回归分析(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,是一种广义的线性回归分析模型。
逻辑回归的原理是在线性回归的基础上加了一个Sigmoid函数(非线性)映射,即把线性回归函数的结果y,放到Sigmod函数中去。逻辑回归解决分类问题,输出离散值,而线性回归解决回归问题,输出连续值。


[关键技术]
逻辑回归,调用sklearn.linear_ model模块的LogisticRegression模型;
生成二维或三维网格矩阵,调用函数meshgrid();

可参考(20条消息) python使用meshgrid绘制网格_爱打羽毛球的小怪兽的博客-CSDN博客
绘制具有非规则矩形网格的伪彩色图,调用函数pcolormesh()。此函数会自动在上述的网格的网格矩阵中填充颜色,我们可以在pcolormesh的参数对颜色等进行指定。


鸢尾花数据集共收集了三类驾尾花,即Setosa鸢尾花、Versicolour鸢尾花、Virginica驾尾花,每一-类鸢尾花收集50条样本记录,共150条。数据表中,前四列为花萼长度,花萼宽度,花瓣长度,花瓣宽度等4个用于识别鸢尾花的属性,第5列为鸢尾花的类别。
Iris鸢尾花数据集的逻辑回归分析_第1张图片

import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression

iris=load_iris()
X=iris.data[:,:2]
Y=iris.target

lr=LogisticRegression()
lr.fit(X,Y)

x_min,x_max=X[:,0].min()-0.5,X[:,0].max()+0.5
y_min,y_max=X[:,1].min()-0.5,X[:,1].max()+0.5
xx,yy=np.meshgrid(np.arange(x_min,x_max,0.02),np.arange(y_min,y_max,0.02))
Z=lr.predict(np.c_[xx.ravel(),yy.ravel()])# ravel是将数组变为一维数组,np.c_是将两个数组进行连接 
Z=Z.reshape(xx.shape)

plt.figure(1,figsize=(8,6))
plt.pcolormesh(xx,yy,Z,cmap=plt.cm.Paired,shading='auto')
plt.scatter(X[:50,0],X[:50,1],color='red',marker='o',label='setosa')
plt.scatter(X[50:100,0],X[50:100,1],color='blue',marker='^',label='versicolor')
plt.scatter(X[100:,0],X[100:,1],color='green',marker='*',label='svirginica')

plt.xlabel('Sepal  length')
plt.ylabel('Sepal  width')
plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
plt.xticks(())
plt.xticks(())
plt.legend(loc=2)
plt.show()

Iris鸢尾花数据集的逻辑回归分析_第2张图片

 

 

你可能感兴趣的:(逻辑回归,机器学习,人工智能)