KNN课堂(分类课堂(可用kd树/特征归一化提高精度)))

实验代码:

导入所需要的库

import numpy as np

import pandas as pd

from sklearn.ensemble import RandomForestClassifier

from sklearn.model_selection import train_test_split

from sklearn.neighbors import KNeighborsClassifier

导入数据集

df = pd.read_csv('C:\\Users\\Administrator\\Desktop\\iris.csv')

提取特征和标签

X = df.iloc:, 0:4.values

y = df.iloc:, 4.values

将数据集分为训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

建立 KNN 模型

"""

  1. n_neighbors:整数值,表示要考虑的最近邻的数量。

  2. weights:可以是'uniform'或者是'distance',表示在计算最近邻的距离时考虑的权重,'uniform'表示所有最近邻的距离权重都一样,而'distance'表示距离越近的最近邻权重越大。

  3. algorithm:可以是'ball_tree'、'kd_tree'或者'brute',表示使用何种算法来计算最近邻的距离。

  4. leaf_size:整数值,表示在构建 ball_tree 或者 kd_tree 时考虑的叶节点的尺寸。

  5. metric:字符串值,表示使用何种度量来计算最近邻的距离,常用的有'euclidean'(欧几里得距离)和'minkowski'(闵可夫斯基距离)。

"""

knn = KNeighborsClassifier(n_neighbors=5)

knn.fit(X, y)

训练模型

knn.fit(X_train, y_train)

预测测试集结果

y_pred = knn.predict(X_test)

计算准确率

accuracy = knn.score(X_test, y_test)

打印准确率

print("Accuracy: {}".format(accuracy))

实验结果:

数据集:

见所提供资料

相关推荐
数智化管理手记19 分钟前
主数据重复、错漏频发?一站式主数据管理平台如何落地?
大数据·运维·数据库·人工智能·数据挖掘
thesky12345625 分钟前
27届大模型岗面试准备(五):预训练全流程拆解——从数据清洗到 Tokenizer 再到 PT 的每
人工智能·面试·大模型·预训练·tokenizer
attitude.x27 分钟前
2026年数据透视分析工具推荐:多维与融合对比
人工智能
就是一顿骚操作31 分钟前
Agent Loop 入门到深入:从 ReAct 到 LangGraph、Agents SDK 与 MCP
人工智能·大模型·llm·论文解读·ai agent
quanjui35 分钟前
【医学尝试】基于Segment Anything Model的医学图像分割研究:眼底OCT与X线胸片微调实战
人工智能·笔记·学习
就是一顿骚操作38 分钟前
Dropout:神经网络正则化的经典解读
人工智能·深度学习·神经网络·论文解读
2401_843253701 小时前
数据隐私AI:从合规检查到隐私计算的Skill化
人工智能
清川渡水1 小时前
NL2SQL 的正确打开方式:从「AI 猜 SQL」到「置信度闭环」的工程化落地
数据库·人工智能·sql
Lyra_Infra1 小时前
OpenClaw 服务异常故障分析报告
linux·人工智能
RFID固定资产管理系统1 小时前
公司RFID管理系统揭秘
大数据·python