使用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)
相关推荐
火山引擎开发者社区1 天前
火山AgentPlan/CodingPlan同步上线GLM-5.2
人工智能
冬奇Lab1 天前
Skill 系列(05):Skill 工作流串联——4 种模式实测,并发加速 1.5x
人工智能·开源
冬奇Lab1 天前
每日一个开源项目(第141篇):hiring-agent - HackerRank 开源了他们的简历评分系统,你的简历能得几分?
人工智能·面试·开源
甲维斯1 天前
又升级咯!坦克大战2026,科技与复古并存!
前端·人工智能·游戏开发
姗姗来迟了1 天前
用React Hook封装AI对话状态
人工智能
Goodbye1 天前
从 Token 到 Embedding:LLM 核心基础深度解析
javascript·人工智能
阿瑞IT1 天前
AI Agent 在甘特计划变更场景中的动态响应工程实践
人工智能
用户938515635071 天前
工具调用背后:LLM 如何突破“缸中大脑”,操控真实世界?
javascript·人工智能