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

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

一、介绍

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

feature1feature2feature3feature4label
花萼长度花萼宽度花瓣长度花瓣宽度品种
15.13.51.40.20
24.93.1.40.20
36.23.45.42.32

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)
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值