Python机器学习iris数据集预处理和模型训练方式
作者:SuperYiY
iris数据集包含150个样本,每个样本有4个特征及其类别信息,本文介绍了iris数据集的基本操作和如何使用knn模型进行花卉种类预测,是机器学习中的经典案例,适用于监督式学习
一、iris数据集简介
iris数据集的中文名是安德森鸢尾花卉数据集,英文全称是Anderson`s Iris data set。iris包含150个样本,对应数据集的每行数据。
每行数据包含每个样本的四个特征和样本的类别信息,所以iris数据集是一个150行5列的二维表。
通俗地说,iris数据集是用来给花做分类的数据集,每个样本包含了花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征(前4列),我们需要建立一个分类器,分类器可以通过样本的四个特征来判断样本属于山鸢尾(setosa)、变色鸢尾(versicolor)、维吉尼亚鸢尾(virginica)这三个名词都是花的品种。iris的每个样本都包含了品种信息,即目标属性(第5列,也叫target或label)
如图所示部分数据:
iris在机器学习中的应用:
- 属于监督式学习应用:根据花的四个特征预测鸢尾花卉属于(iris-setosa,iris-versicolour,iris-virginica)中的那一品种。
- 机器学习中经典案例,简单而具有代表性。
二、基本数据操作和模型训练
1.加载iris数据集
# iris数据集加载 from sklearn import datasets iris = datasets.load_iris()
2.展示所有数据
#展示数据 print(iris.data )
3.展示每列的属性名
print(iris.feature_names)
4.展示输出目标结果以及结果的含义
print(iris.target) print(iris.target_names)
5.查看输入和输出数据类型
print(type(iris.data)) print(type(iris.target))
6.确认行列维度
print(iris.data.shape) print(iris.target.shape)
7.给x,y赋值
X =iris.data Y = iris.target
8.利用knn模型进行预测结果
from sklearn.neighbors import KNeighborsClassifier #创建实例,假设k值为1 knn = KNeighborsClassifier(n_neighbors=1) #训练数据集模型 knn.fit(x,y)
9.给定特征的值预测花的品种
#预测某种花的品种 knn.predict([[1,2,3,4]])
得到数组的数据 “2” ,它代表的是花萼长度为1、花萼宽度为2、花瓣长度为3、花瓣宽度为4的鸢尾花卉预测结果的品种是第三种:维吉尼亚鸢尾(virginica)
#多种花的预测 x_test = [[1,2,3,4],[2,4,1,2]] knn.predict(x_test) `
得到数组的数据 “2” 和 “0”,它代表的是
- 花萼长度为1、花萼宽度为2、花瓣长度为3、花瓣宽度为4的鸢尾花卉预测结果的品种是第三种:维吉尼亚鸢尾(virginica)
- 花萼长度为2、花萼宽度为4、花瓣长度为1、花瓣宽度为2的鸢尾花卉预测结果的品种是第一种:山鸢尾(setosa)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。