【入门】使用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算法的原理和实际应用,为进一步学习机器学习算法奠定基础。

相关推荐
github_czy23 分钟前
RRF (Reciprocal Rank Fusion) 排序算法详解
算法·排序算法
许愿与你永世安宁1 小时前
力扣343 整数拆分
数据结构·算法·leetcode
爱coding的橙子1 小时前
每日算法刷题Day42 7.5:leetcode前缀和3道题,用时2h
算法·leetcode·职场和发展
满分观察网友z2 小时前
从一次手滑,我洞悉了用户输入的所有可能性(3330. 找到初始输入字符串 I)
算法
YuTaoShao2 小时前
【LeetCode 热题 100】73. 矩阵置零——(解法二)空间复杂度 O(1)
java·算法·leetcode·矩阵
Heartoxx2 小时前
c语言-指针(数组)练习2
c语言·数据结构·算法
大熊背2 小时前
图像处理专业书籍以及网络资源总结
人工智能·算法·microsoft
满分观察网友z2 小时前
别怕树!一层一层剥开它的心:用BFS/DFS优雅计算层平均值(637. 二叉树的层平均值)
算法
杰克尼3 小时前
1. 两数之和 (leetcode)
数据结构·算法·leetcode
YuTaoShao4 小时前
【LeetCode 热题 100】56. 合并区间——排序+遍历
java·算法·leetcode·职场和发展