使用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)
相关推荐
Cosolar1 分钟前
AI Agent 的记忆战争:OpenClaw vs Hermes vs QwenPaw vs HiClaw,谁真正"记得住"?
人工智能·后端·面试
cd_949217212 分钟前
迈克生物、迈瑞、安图怎么选?医学检验智慧实验室品牌选型维度
人工智能
naumy3 分钟前
AI-知识强记
人工智能
Csvn5 分钟前
AI代码生成和优化的新方法
人工智能
Soari5 分钟前
告别枯燥语法!深度拆解 easy-vibe:2026 年初学者迈入“Vibe Coding”的第一课
人工智能·claude
摩尔元数6 分钟前
特殊环境安全生产的AI运
人工智能·安全·制造·mes
JavaEdge.8 分钟前
用 LangChain 克隆一个 ChatGPT:LLMChain + Memory 实战
人工智能·chatgpt·langchain
大数据流动8 分钟前
OpenMetadata 1.13 正式发布!AI 数据治理开始进入语义上下文时代
大数据·人工智能
ZFSS8 分钟前
WebExtrator 网页渲染与内容提取 API 使用指南
前端·人工智能·ai·ai编程
志栋智能9 分钟前
安全超自动化的投资回报率如何量化?
人工智能·安全·自动化