使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测。

embedded/2025/1/24 13:03:27/

1、导入需要的包

# 导入鸢尾花数据集
from sklearn.datasets import load_iris
# 数据可视化包
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler, StandardScaler
from sklearn.neighbors import KNeighborsClassifier

2、获取鸢尾花数据集 

iris = load_iris()

3、数据可视化 

iris_data1 = pd.DataFrame(data=iris['data'], columns=['Sepal_Length', 'Sepal_Width', 'Petal_Length', 'Petal_Width'])

 4、填充目标值

iris_data1['target'] = iris['target']

5、 数据集的划分 

x_train, x_test, y_train, y_test = train_test_split(iris['data'], iris['target'], test_size=0.2, random_state=42)

6、特征工程 - 特征预处理 

transfer = StandardScaler()
ret_train_data = transfer.fit_transform(x_train)
ret_test_data = transfer.fit_transform(x_test)

7、构建KNN并实例化

n_neighbors_num = 5
knn_model = KNeighborsClassifier(n_neighbors=n_neighbors_num)
# 7.2 训练模型 输入训练集和训练集标签
knn_model.fit(ret_train_data, y_train)

8、 评估模型

y_pre = knn_model.predict(ret_test_data)
print("预测结果:", y_pre)
print("真实值:", y_test)
print("预测值和真实值对比:\n", y_pre == y_test)
# 8.2 准确率计算,注意如果是归一化后的数据就得用归一化后的数据进行预测计算准确率,不然效果很差
score = knn_model.score(ret_test_data, y_test)
print("准确率:", score)


http://www.ppmy.cn/embedded/156573.html

相关文章

2024年度总结:做一个持续精进的人

文章目录 引言深圳三年:挑战与收获博客与我:记录与思考总结:感恩与前行 引言 时间如白驹过隙,再次提起这句话,已然和之前在学校时的份量不太一样了。也不知道是不是身在深圳的缘由,深圳作为一个超一线城市…

使用LabVIEW的History功能实现队列数据的读取而不清空

在LabVIEW中,有多种方法可以读取队列中的数据而不清空它。使用 Dequeue Element 和 Enqueue Element 函数可以实现读取并重新插入数据回队列,但当需要处理大数据流或需要更动态的解决方案时,这种方法可能会变得繁琐。一个更高效的解决方案是利…

【Vim Masterclass 笔记24】S10L43 + L44:同步练习10 —— 基于 Vim 缓冲区的各类基础操作练习(含点评课)

文章目录 S10L43 Exercise 12 - Vim Buffers1 训练目标2 操作指令2.1. 打开 buf* 文件2.2. 查看缓冲区 View the buffers2.3. 切换缓冲区 Switch buffers2.4. 同时编辑多个缓冲区 Edit multiple buffers at once2.5. 缓冲区的增删操作 Add and delete buffers2.6. 练习 Vim 内置…

【C++】详细讲解继承(上)

C面向对象的三大特性:封装,继承,多态。现在我们就介绍一下继承。 1.继承的概念及定义 1.1 继承的概念 继承机制是⾯向对象程序设计使代码可以 复⽤ 的最重要的⼿段。我们前面接触到的都是 函数 层次的复用,遇到过的 类 层次的复…

数学建模论文通用模板(细节方法二)

前面我们大概说了一些数学建模论文写作的重点,现在来更加细致的说明一下。 教会你各类竞赛数学建模论文写作(通用模板)-CSDN博客(这是细节方法一) 首先,在说明之前,还是那句话…

chrome游览器JSON Formatter插件无效问题排查,FastJsonHttpMessageConverter导致Content-Type返回不正确

问题描述 chrome游览器又一款JSON插件叫JSON Formatter,游览器GET请求调用接口时,如果返回的数据是json格式,则会自动格式化展示,类似这样: 但是今天突然发现怎么也格式化不了,打开一个json文件倒是可以格…

EMS从0到1之BMS介绍

BMS介绍 写在前面BMS是什么BMS能做些什么BMS有什么作用写在结尾 写在前面 众所周知,BMS作为储能系统3S,是储能系统的重要组成部分,虽然我们不开发BMS,但作为EMS开发者我们必须了解BMS是什么,他能做些什么,…

【leetcode100】二叉搜索树中第k小的元素

1、题目描述 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 小的元素(从 1 开始计数)。 示例 1: 输入:root [3,1,4,null,2], k 1 输出:1 2、初始思路 2.…