最近我又又又开始了我的机器学习道路,并且回过头来重新看了一遍Iris数据分析,作为机器学习里面最经典的案例之一,鸢尾花既是我入门机器学习到放弃的地方,又是再次细读之后给予我灵感的地方。
下面介绍一下这次灵感之旅,希望也能带给看到这篇文章的你一些帮助。
1. 从一堆鸢尾花说起
如果一个植物学家在野外看到一花萼长5cm宽2.9cm,花瓣长1cm宽0.2cm的鸢尾花,并且在他的认知里,这种鸢尾花有三个分支品种,这时候,他手里有来自UCI数据集网站的鸢尾花数据,那么他能否根据这对数据集预测这株鸢尾花的所属分支
2. 导入鸢尾花数据
import sklearn
from sklearn.datasets import load_iris
iris_dataset :sklearn.utils.Bunch= load_iris() # 这里是将Python数据指定类型,转换成强语言,为了方便读取可用方法属性
print(type(iris_dataset)) # 查看类型,返回的是一种类似于字典的数据类型
print("iris_Keys : " , iris_dataset.keys()) #对这种类似字典的数据操作,查看数据集的属性
输出:
<class 'sklearn.utils.Bunch'>
iris_Keys : dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename'])
3. 核心数据
# 通过对values获取,得到鸢尾花特征值集合,其实也可以通过上面类字典的键获取,下面介绍
print("iris_values : \n")
iris_dataset.values()
# 这段代码可以获取鸢尾花特征名字,比如花瓣长度
iris_dataset['feature_names']
到这里我们获得一堆鸢尾花特征数据,我把它整理并放在了网上, 点击获取
4. 回望我们的目的
一开始我就介绍,植物学家想通过数据集预测这是个什么种类的鸢尾花,这时候我们可以就获取这些相关种类了
# 获取种类
iris_dataset['target_names']
# 这里返回的是一个numpy.ndarray数组,并且以表格形式呈现
setosa
versic