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

1、导入需要的包

python 复制代码
# 导入鸢尾花数据集
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、获取鸢尾花数据集

python 复制代码
iris = load_iris()

3、数据可视化

python 复制代码
iris_data1 = pd.DataFrame(data=iris['data'], columns=['Sepal_Length', 'Sepal_Width', 'Petal_Length', 'Petal_Width'])

4、填充目标值

python 复制代码
iris_data1['target'] = iris['target']

5、 数据集的划分

python 复制代码
x_train, x_test, y_train, y_test = train_test_split(iris['data'], iris['target'], test_size=0.2, random_state=42)

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

python 复制代码
transfer = StandardScaler()
ret_train_data = transfer.fit_transform(x_train)
ret_test_data = transfer.fit_transform(x_test)

7、构建KNN并实例化

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

8、 评估模型

python 复制代码
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)
相关推荐
程途拾光1582 分钟前
幻觉抑制:检索增强生成(RAG)的优化方向
人工智能
野豹商业评论3 分钟前
千问发力:“AI家教”开始抢教培生意?
人工智能
程序员佳佳16 分钟前
【万字硬核】从零构建企业级AI中台:基于Vector Engine整合GPT-5.2、Sora2与Veo3的落地实践指南
人工智能·gpt·chatgpt·ai作画·aigc·api·ai编程
weixin_4379881217 分钟前
范式推出面向AGI的Phanthy平台
人工智能·agi
Hcoco_me37 分钟前
RNN(循环神经网络)
人工智能·rnn·深度学习
踏浪无痕1 小时前
AI 时代架构师如何有效成长?
人工智能·后端·架构
AI 智能服务1 小时前
第6课__本地工具调用(文件操作)
服务器·人工智能·windows·php
clorisqqq1 小时前
人工智能现代方法笔记 第1章 绪论(1/2)
人工智能·笔记
kisshuan123961 小时前
YOLO11-RepHGNetV2实现甘蔗田杂草与作物区域识别详解
人工智能·计算机视觉·目标跟踪
焦耳热科技前沿1 小时前
北京科技大学/理化所ACS Nano:混合价态Cu₂Sb金属间化合物实现高效尿素电合成
大数据·人工智能·自动化·能源·材料工程