Bootstrap

(转载)基于sklearn的iris数据集及简介

(一)iris数据集简介

Iris数据集是机器学习任务中常用的分类实验数据集,由Fisher在1936收集整理。Iris中文名是安德森鸢尾花卉数据集,英文全称是Anderson’s Iris data set,是一类多重变量分析的数据集。Iris一共包含150个样本,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。

通俗地说,iris数据集是用来给莺尾花做分类的数据集,每个样本包含了花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征(下表中的前4列),我们需要建立一个分类器,该分类器可通过样本的四个特征来来判断样本属于山鸢尾(Setosa)、变色鸢尾(Versicolour)还是维吉尼亚鸢尾(Virginica)中的哪一个,即机器学习中的分类问题。

iris的每个样本都包含了品种信息,即目标属性(第5列,也叫target或label)。

样本局部截图:


将样本中的4个特征两两组合(任选2个特征分别作为横轴和纵轴,用不同的颜色标记不同品种的花),可以构建12种组合(其实只有6种,另外6种与之对称),如图所示:


(二)基于ski-kit的iris数据集

python的数据挖掘/机器学习库scikit已经内置了iris数据集,如果运行环境并没有安装sklearn,可通过pip install sklearn命令进行安装。

这里使用pychram环境来查看sklearn内置的iris数据集,如下所示:

import sklearn

if __name__ == '__main__':
    iris = sklearn.datasets.load_iris()

    # data对应了样本的4个特征,150行4列
    print('>> shape of data:')
    print(iris.data.shape)

    # 显示样本特征的前5行
    print('>> line top 5:')
    print(iris.data[:5])

    # target对应了样本的类别(目标属性),150行1列
    print('>> shape of target:')
    print(iris.target.shape)

    # 显示所有样本的目标属性
    print('>> show target of data:')
    print(iris.target)

每条命令的运行结果如下:


其中,iris.target用0、1和2三个整数分别代表了花的三个品种
关于分类,我们使用了Iris数据集,这个scikit-learn自带了,在pkgs目录下搜索:iris.csv即可。

from sklearn.datasets import load_iris
iris = load_iris()

;