【入门】使用sklearn实现的KNN算法:鸢尾花数据集分类预测

目录

前言
第一步:安装和导入sklean模块
第二步:获取数据
第二步:分割出训练集和测试集
第三步:训练模型
第四步:测试结果
总结

前言

本文将介绍如何利用K最近邻(KNN)算法对经典的鸢尾花数据集进行分类预测。首先,我们会加载数据集并进行数据的拆分,然后利用KNN算法训练模型。最后,我们将展示模型对测试集的预测结果,并与真实标签进行对比验证,以帮助读者更好地理解KNN算法在分类问题中的应用。


第一步:安装和导入sklean模块

1.命令行安装sklearn

pip install -U scikit-learn

2.导入模块

python 复制代码
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

第二步:获取数据

python 复制代码
#使用sklearn自带的datasets模块中的load_iris函数加载了鸢尾花(iris)数据集
iris = datasets.load_iris()
#提取出特征数据
iris_X=iris.data
#目标标签
iris_y=iris.target

第二步:分割出训练集和测试集

python 复制代码
#会打乱数据
#test_size测试比例,train_test_split把训练数据和测试数据分开
X_train,X_test,y_train,y_test=train_test_split(iris_X,iris_y,test_size=0.3)

第三步:训练模型

python 复制代码
#训练模型
knn=KNeighborsClassifier()
knn.fit(X_train,y_train)

第四步:测试结果

python 复制代码
#预测值
print(knn.predict(X_test))
# [0 0 1 0 2 2 1 1 0 0 2 1 2 2 2 2 0 0 2 0 2 2 0 0 0 2 0 1 1 0 0 2 0 2 2 0 1
#  1 0 1 1 2 0 1 2]
#真实值
print(y_test)
# [0 0 1 0 2 2 1 1 0 0 2 1 2 2 1 2 0 0 2 0 2 2 0 0 0 2 0 1 1 0 0 2 0 2 2 0 1
#  1 0 1 1 2 0 1 2]

结果大差不差~


总结

通过本文的讲解,我们深入探讨了KNN算法在机器学习中的应用。通过实际操作鸢尾花数据集,我们展示了如何使用KNN算法对数据进行分类预测,并验证了模型的准确性。希望本文能够帮助读者更好地理解KNN算法的原理和实际应用,为进一步学习机器学习算法奠定基础。

相关推荐
南宫生36 分钟前
力扣每日一题【算法学习day.130】
java·学习·算法·leetcode
柠石榴37 分钟前
【练习】【类似于子集问题】力扣491. 非递减子序列/递增子序列
c++·算法·leetcode·回溯
!!!5251 小时前
Java实现斗地主-做牌以及对牌排序
java·算法
sjsjs111 小时前
【数据结构-并查集】力扣1722. 执行交换操作后的最小汉明距离
数据结构·算法·leetcode
CoderIsArt1 小时前
生成一个立方体贴图(Cube Map)
算法·sharpgl
且听风吟ayan1 小时前
leetcode day20 滑动窗口209+904
算法·leetcode·c#
m0_675988231 小时前
Leetcode350:两个数组的交集 II
算法·leetcode·数组·哈希表·python3
_Itachi__1 小时前
LeetCode 热题 100 160. 相交链表
算法·leetcode·链表
m0_675988231 小时前
Leetcode1206:设计跳表
算法·leetcode·跳表·python3
冠位观测者1 小时前
【Leetcode 每日一题 - 扩展】1512. 好数对的数目
数据结构·算法·leetcode