梁程晴

2020-08-25   阅读量: 1112

机器学习——鸢尾花数据集(Knn分类)

扫码加入数据分析学习群

Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。

iris以鸢尾花的特征作为数据来源,常用在分类操作中。该数据集由3种不同类型的鸢尾花的各50个样本数据构成。其中的一个种类与另外两个种类是线性可分离的,后两个种类是非线性可分离的。

该数据集包含了4个属性:

& Sepal.Length(花萼长度),单位是cm;

& Sepal.Width(花萼宽度),单位是cm;

& Petal.Length(花瓣长度),单位是cm;

& Petal.Width(花瓣宽度),单位是cm;


1.导包

import numpy as np

from sklearn import datasets

from sklearn.neighbors import KNeighborsClassifier

from sklearn.model_selection import train_test_split

2.数据集导入

①from sklearn import datasets

iris = datasets.load_iris()

②提前下载好数据集,用pandas包导入

例:iris=pd.read_csv('文件名',columns=['列名'])

3.查看数据特征

iris.data.shape

4. 拆分属性数据

iris_X = iris.data

5.# 拆分类别数据

iris_y = iris.target

6.预测数据

#准备训练集和测试集

iris_train_X , iris_test_X, iris_train_y ,iris_test_y = train_test_split(iris_X, iris_y, test_size=0.2,random_state=0)

#创建模型

knn = KNeighborsClassifier(n_neighbors=6)

#训练模型

knn.fit(iris_train_X, iris_train_y)

#预测

predict_result=knn.predict(iris_test_X)

print('预测结果',predict_result)

# 计算预测的准确率

print('预测准确率',knn.score(iris_test_X, iris_test_y))


47.3737 2 0 关注作者 收藏

评论(0)


暂无数据

推荐课程