使用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)
相关推荐
量子位15 分钟前
Nano banana手办玩法火爆出圈!无需抽卡,效果惊了(°o°)
人工智能·ai编程
躺柒1 小时前
读大语言模型08计算基础设施
人工智能·ai·语言模型·自然语言处理·大语言模型·大语言
神州问学1 小时前
Skywork:昆仑万维推出天工超级智能体
人工智能
神州问学1 小时前
Graph-RAG全面综述:如何用知识图谱+大模型解决信息检索难题?
人工智能
金井PRATHAMA1 小时前
破译心智密码:神经科学如何为下一代自然语言处理绘制语义理解的蓝图
人工智能·自然语言处理
hllqkbb2 小时前
实战Kaggle比赛:狗的品种识别(ImageNet Dogs)
人工智能
打不过快跑2 小时前
YOLO 入门实战(二):用自定义数据训练你的第一个检测模型
人工智能·后端·python
lingling0092 小时前
艾利特石油管道巡检机器人:工业安全的智能守护者
大数据·网络·人工智能
居然JuRan2 小时前
全网最全的大模型分词器(Tokenizer)总结
人工智能
聚客AI2 小时前
💡突破RAG性能瓶颈:揭秘查询转换与智能路由黑科技
人工智能·langchain·llm