KNN算法的具体应用–鸢尾花数据处理

KNN算法的具体应用–鸢尾花数据处理

一、介绍

这里用的是KNN算法,如下面的表格,根据鸢尾花四个特征值(花萼长度、花萼宽度、花瓣长度、花瓣宽度)来区分鸢尾花的品种,鸢尾花被分为三种类型(即三种标签值,分别为山鸢尾、变色鸢尾、菖蒲锦葵)

feature1 feature2 feature3 feature4 label
花萼长度 花萼宽度 花瓣长度 花瓣宽度 品种
1 5.1 3.5 1.4 0.2 0
2 4.9 3. 1.4 0.2 0
3 6.2 3.4 5.4 2.3 2

Python的sklearn库中自带了鸢尾花的数据集,所以我们可以用这些数据集来训练模型并预测新的鸢尾花的品种。

二、实现流程
1、数据加载
2、数据获取(获取特征值和标签值)
3、数据分割(原本的数据是按照标签值排序的,所以要将数据打乱。同时将数据分为样本集和测试集)
4、模型选择(当然是KNN)
5、模型训练fit
6、模型评分score
7、模型预测
三、具体代码
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier #分类算法
#数据加载
iris_dataset = load_iris()
#特征数据
iris_feature = iris_dataset["data"]
#标签数据
iris_label = iris_dataset["target"]
#数据分割,这里的x_train和y_train代表样本集的特征值和标签值,x_test和y_test代表测试集的特征值和标签值
x_train,x_test,y_train,y_test = 		train_test_split(iris_feature,iris_label,test_size=0.2,random_state=6)
#算法选择,KNN算法中的K值也是在这里定的
knn = KNeighborsClassifier(n_neighbors=3)
#根据数据训练模型
knn.fit(x_train,y_train)
#模型评分
score = knn.score(x_test,y_test)
print(score)
#模型测试,将分出来的测试集传到训练好的模型中,看看是否和真实的标签值一致
y_predict = knn.predict(x_test)
print(predict_y == y_test)

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>