Java实现鸢尾花分类,机器学习笔记--鸢尾花分类(一)

· 数据初识

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

假设一个植物爱好者观察了很多鸢尾花,并记录了这些花的数据(花瓣长度、宽度以及花萼的长度、宽度),并且一直这些花都属于于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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值