我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

sklearn里面的K近邻算法模型,是如何对鸢尾花数据集进行预测的呢?K近邻算法的全称是"K-Nearest Neighbors"。从代码的角度上来看,套路依然一致,换包引用换模型名称,然后就执行代码就可以了。

苏南大叔:K近邻算法模型,如何对鸢尾花数据集进行预测? - k相邻算法模型预测鸢尾花数据集
K近邻算法模型,如何对鸢尾花数据集进行预测?(图2-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验文章。本文测试环境:win10python@3.11.0sklearn@1.2.2。本文讲求短平快,直接上干货,并不会对K近邻算法模型的细节进行讲解。

获得鸢尾花训练集

从前面的文章里面,苏南大叔已经对鸢尾花数据集做了无数次各个角度的数据分析。其实主要的目标就是读取csv,拿到目标数据并进行数据集切分。参考文章:

拿到鸢尾花数据集的方式很多,本文中加载的是从tensorflow官网下载到本地的iris2.csv鸢尾花数据集。

获取数据集的代码如下:

from sklearn.model_selection import train_test_split
import pandas as pd
column_names = ["萼长", "萼宽", "瓣长", "瓣宽", "种类"]
data = pd.read_csv("iris2.csv", header=0, names=column_names)
X = data.iloc[:, :-1].values
y = data.iloc[:, -1:].values.flatten()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=8)

这里拿到的X/y数据类型都是ndarray

K近邻算法模型预测

邻近算法,或者说K最邻近(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的K个邻近值来代表。近邻算法就是将数据集合中每一个记录进行分类的方法。

这里采用K-Nearest NeighborsK近邻算法预测模型,做鸢尾花数据集的预测。测试代码如下:

from sklearn.neighbors import KNeighborsClassifier
model = KNeighborsClassifier()
model.fit(X_train, y_train)
predictions = model.predict(X_test)
print(predictions)
print("K近邻算法预测结果:", model.score(X_test, y_test))

输出:

[1 2 2 2 1 1 0 0 1 1 0 2 2 0 0 2 2 2 2 0 0 2 0 1]
K近邻算法: 0.9166666666666666

苏南大叔:K近邻算法模型,如何对鸢尾花数据集进行预测? - k相邻算法结果
K近邻算法模型,如何对鸢尾花数据集进行预测?(图2-2)

结束语

机器学习的各种模型非常多,每个模型内部也有很多不同的预测方法。苏南大叔目前致力于最基本的简单介绍了解机器学习的各种算法,所以相关文章写的也不是很详细,见谅。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    sklearn