鸢尾花数据集iiscsv(鸢尾花数据集干什么用的)
导语:鸢尾花(iris)数据集主成分分析并绘制3D图案例应用(献给初学者)
由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数据集作为参数。
程序
程序运行后结果显示的三维分类图如下:
三维分类图
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小故创作整理编辑!