您的位置:首页 > 其它

机器学习笔记--鸢尾花分类(一)

2019-11-22 15:16 113 查看

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

· 数据初识

鸢尾花分类是一个经典的机器学习应用。

假设一个植物爱好者观察了很多鸢尾花,并记录了这些花的数据(花瓣长度、宽度以及花萼的长度、宽度),并且一直这些花都属于于setosa、 versicolor 或 virginica 三个品种之一。现在需要根据记录的数据预测花的种类。

因为这是一个经典的数据集,所以在 scikit-learn 的 datasets 模块中。我们可以调用 load_iris 函数来加载数据:

from sklearn.datasets import load_iris
iris_dataset = load_iris()
print("Keys of iris_dataset: \n{}".format(iris_dataset.keys()))

得到结果:

Keys of iris_dataset:
dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names', 'filename'])

我们再分别把这几个key下的数据打印出来,首先是data,由于data太多了,所以我们只打印出了前五个:

print("first 5 data: \n{}".format(iris_dataset['data'][:5]))

得到结果如下,应该是分别对应的花瓣长度、宽度,花萼长度、宽度:

first 5 data:
[[5.1 3.5 1.4 0.2]
[4.9 3.  1.4 0.2]
[4.7 3.2 1.3 0.2]
[4.6 3.1 1.5 0.2]
[5.  3.6 1.4 0.2]]

然后是target,和target_names:

print("target: \n{}".format(iris_dataset['target']))
print("target_names: \n{}".format(iris_dataset['target_names']))

得到的结果如下,0、1、2应该是对应着三种花:

target:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2]

target_names:
['setosa' 'versicolor' 'virginica']

DESCR是对数据集的说明,我就不展示了。最后看看feature_names,和filename:

print("feature_names: \n{}".format(iris_dataset['feature_names']))
print("filename: \n{}".format(iris_dataset['filename']))

我们可以知道是哪四种属性以及记录数据的CSV的地址,得到结果如下:

feature_names:
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']

filename:
C:\Anaconda\lib\site-packages\sklearn\datasets\data\iris.csv
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IRIS