大家好,欢迎来到IT知识分享网。
由Fisher在1936年整理的Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。其数据集变量包含4个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度))这四个变量预测鸢尾花的分类,其特征值都为正浮点数,单位为厘米。预测变量目标值为鸢尾花的分类为三类:Iris Setosa(山鸢尾)、Iris Versicolour(杂色鸢尾),Iris Virginica(维吉尼亚鸢尾)。
Iris数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于(iris-setosa, iris-versicolour, iris-virginica)中的哪一品种。
int类型, 对三种分类做编号如下:
0 : Iris setosa (山鸢尾)
1 :Iris versicolor (杂色鸢尾)
2 :Iris virginica(维吉尼亚鸢尾)
第一步:对iris数据集导入,进行探索性分析,通过语言print(v_iris.target)查看花卉总类

导入数据
运行结果如下,输出的结果包含150个数值,其中共有三种可能的取值(0、1、2),分别代表三种不同的鸢尾花卉。

程序运行结果
对数据集查看分析,通过访问v_iris的target_names属性,可以了解每个值所代表的花卉类别。

数据集分析
运行后结果显示三类花卉名字为:

三类花卉名字
为了更好地理解这个数据集,可以使用matplotlib进行可视化图形显示,用三种颜色表示三种花卉,并绘制一幅散点图。x表示萼片的长度,y轴表示萼片的宽度。
程序如下:

数据挖掘程序
运行结果如下图:
紫色、蓝色和黄色分别代表了山鸢尾、杂色鸢尾花和维吉尼亚鸢尾。由下图可见,紫色的点形成一簇,与其他点明显区分开了。由此可见以萼片的长宽来进行区分可以将山鸢尾花明显的和其他的两类品种区分开来。

三种花卉的分类图
对上面程序改造,根据Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)花瓣变量分类:
程序如下:

改造后的程序
运行结果如下,下图可以看到,使用花瓣的长和宽作为特征时,三种类别之间的区别度更明显,得到了三个不同的簇:

三种物种的分布图
上面是二维的分析,然后进行分类绘制的二维分类图。下面通过主成分分析法(PCA)进行主成分分析,把四维减少到三维,并对得到的结果绘制为3D散点图。使用萼片和花瓣的测量数据来描述数据集中各个鸢尾花卉的特点scikit-learn库的fit_transform( )函数用来降维的,它属于PCA对象。先导入PCA模块sklearn.decomposition,然后调用PCA( )构造函数,用n_components选项指定要降到几维(主成分)。此处降为三维(便于绘制三维散点图),然后调用fit_transform( )函数,传入四维的v_Iris数据集作为参数。

程序
程序运行后结果显示的三维分类图如下:

三维分类图
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/182978.html