引入
一个机器可以根据照片来辨别鲜花的品种吗?在机器学习角度,这其实是一个分类问题,即机器根据不同品种鲜花的数据进行学习,使其可以对未标记的测试图片数据进行分类。
这一小节,我们还是从scikit-learn出发,理解基本的分类原则,多动手实践。
Iris数据集
Iris flower数据集是1936年由Sir Ronald Fisher引入的经典多维数据集,可以作为判别分析(discriminant analysis)的样本。该数据集包含Iris花的三个品种(Iris setosa, Iris virginica and Iris versicolor)各50个样本,每个样本还有4个特征参数(分别是萼片<sepals>的长宽和花瓣<petals>的长宽,以厘米为单位),Fisher利用这个数据集开发了一个线性判别模型来辨别花朵的品种。
基于Fisher的线性判别模型,该数据集成为了机器学习中各种分类技术的典型实验案例。
![](http://7nj1qk.com1.z0.glb.clouddn.com/@/ML/scikit/iris_classify/iris_flower.jpg)
现在我们要解决的分类问题是,当我们看到一个新的iris花朵,我们能否根据以上测量参数成功预测新iris花朵的品种。
我们利用给定标签的数据,设计一种规则进而应用到其他样本中做预测,这是基本的监督问题(分类问题)。
由于iris数据集样本量和维度都很小,所以可以方便进行可视化和操作。
数据的可视化(visualization)
scikit-learn自带有一些经典的数据集,比如用于分类的iris和digits数据集,还有用于回归分析的boston house prices数据集。
可以通过下面的方式载入数据:
from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()
该数据集是一种字典结构,数据存储在.data成员中,输出标签存储在.target成员中。