理论教育 Python实现鸢尾花分类模式

Python实现鸢尾花分类模式

时间:2023-11-22 理论教育 版权反馈
【摘要】:sklearn包中带有一个鸢尾花数据集,每行代表一个样本,每个样本4个特征,分别是萼片长度、宽度,花瓣长度、宽度。样本被分成三类:山鸢尾、变色鸢尾和维吉尼亚鸢尾,分别用数字0、1、2表示。在二维空间中观察鸢尾花的分布聚集,可以选择任意的两个变量。程序:鸢尾花二维码图from sklearn import datasetsiris=datasets.load_iris( ) #从数据库获得数据data=iris.data #获得自变量数据target=iris.target #获得样本的分类信息import matplotlib.pyplot as pltimport matplotlib as mplmpl.rcParams[font.family]=sans-serifmpl.rcParams[font.sans-serif]=[uSim Hei]plt.plotplt.plotplt.plotplt.legendplt.show( )程序运行结果如图8.2.27所示。图8.2.28鸢尾花在三维空间的分布情况

Python实现鸢尾花分类模式

sklearn包中带有一个鸢尾花数据集,每行代表一个样本,每个样本4个特征,分别是萼片长度、宽度,花瓣长度、宽度。样本被分成三类:山鸢尾、变色鸢尾和维吉尼亚鸢尾,分别用数字0、1、2表示。在二维空间中观察鸢尾花的分布聚集,可以选择任意的两个变量。下面程序以花瓣特征为例,观察它们在空间的分布。

程序:鸢尾花二维码

from sklearn import datasets

iris=datasets.load_iris( ) #从数据库获得数据

data=iris.data #获得自变量数据

target=iris.target #获得样本的分类信息

import matplotlib.pyplot as plt

import matplotlib as mpl

mpl.rcParams[ˈfont.familyˈ]=ˈsans-serifˈ

mpl.rcParams[ˈfont.sans-serifˈ]=[uˈSim Heiˈ]

plt.plot(data[target==0,2],data[target==0,3],ˈbˈ,label=ˈ山鸢尾ˈ)

plt.plot(data[target==1,2],data[target==1,3],ˈr*ˈ,label=ˈ变色鸢尾ˈ)

plt.plot(data[target==2,2],data[target==2,3],ˈgoˈ,label=ˈ维吉尼亚鸢尾ˈ)

plt.legend(loc=ˈupper leftˈ)

plt.show( )

程序运行结果如图8.2.27所示。

在三维空间中观察3种鸢尾花的分布情况的程序如下:

程序:鸢尾花三维图

(www.daowen.com)

图8.2.27 以花瓣特征显示鸢尾花分类

from sklearn import datasets

iris=datasets.load_iris( ) #从数据库获得数据

data=iris.data #获得自变量数据

target=iris.target #获得样本的分类信息

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

fig=plt.figure( )

ax=Axes3D(fig)

ax.scatter(data[target==0,0],data[target==0,1],data[target==0,3],c=ˈrˈ,marker=ˈoˈ)

ax.scatter(data[target==1,0],data[target==1,1],data[target==1,3],c=ˈbˈ,marker=ˈˈ)

ax.scatter(data[target==2,0],data[target==2,1],data[target==2,3],c=ˈgˈ,marker=ˈvˈ)

ax.set_xlim(min(data[:,0]),max(data[:,0]))

ax.set_ylim(min(data[:,1]),max(data[:,1]))

ax.set_zlim(min(data[:,3]),max(data[:,3]))

plt.show( )

程序中,分别采用萼片的长、宽,花瓣的宽,在三维空间中观察鸢尾花的分类,程序运行结果如图8.2.28所示。

图8.2.28 鸢尾花在三维空间的分布情况

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈