使用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)
相关推荐
拾零吖5 分钟前
CS336 Lecture_03
人工智能·pytorch·深度学习
斯文~6 分钟前
【AI论文速递】RAG-GUI:轻量VLM用SFT/RSF提升GUI性能
人工智能·ai·agent·rag·ai读论文·ai论文速递
Mrliu__11 分钟前
Opencv(十五) : 图像梯度处理
人工智能·opencv·计算机视觉
高洁0122 分钟前
具身智能-普通LLM智能体与具身智能:从语言理解到自主行动
人工智能·深度学习·算法·aigc·知识图谱
nihaoakekeke33 分钟前
Fast Distributed Inference Serving for Large Language Models
人工智能·语言模型·自然语言处理
用户5191495848451 小时前
掌控Apple Silicon MacBook电池健康的神器
人工智能·aigc
静Yu1 小时前
基于CANN框架的算子开发:释放AI计算潜能的核心引擎
人工智能
嵌入式-老费1 小时前
自己动手写深度学习框架(最终的ncnn部署和测试)
人工智能·深度学习
LO嘉嘉VE1 小时前
学习笔记十五:连续与缺失值
机器学习
阿十六1 小时前
OUC AI Lab 第七章:ViT & Swin Transformer
人工智能·深度学习·transformer