K近邻算法(knn)

核心概念

  1. 算法定义

每个样本由其最接近的K个邻近样本代表(K通常≤20)。

对新数据分类时,提取训练集中特征最相似的K个样本,统计其类别频率,将最高频类别作为预测结果。

  1. 算法步骤

① 计算新数据与所有训练样本的距离;

② 按距离递增排序;

③ 选取距离最小的K个点;

④ 统计K个点的类别频率;

⑤ 返回频率最高的类别作为预测分类。

距离度量方法

  1. 欧氏距离

多维空间中的绝对距离。

公式(n维):

d = \\sqrt{\\sum_{i=1}\^{n}(x_i - y_i)\^2}

  1. 曼哈顿距离

坐标轴上的绝对轴距总和。

公式(二维):

d = \|x_1 - x_2\| + \|y_1 - y_2\|

实战案例:鸢尾花分类(基于sklearn)

  1. 数据集

特征:花萼长度/宽度、花瓣长度/宽度(4个特征)。

标签:3种鸢尾花类别(`setosa`, `versicolor`, `virginica`)。

  1. 实现步骤

  2. 加载数据

iris = datasets.load_iris()

X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3)

  1. 创建KNN模型(K=5,欧氏距离)

knn = KNeighborsClassifier(n_neighbors=5, metric="euclidean")

knn.fit(X_train, y_train)

  1. 评估与预测

train_score = knn.score(X_train, y_train) # 训练集准确率

test_score = knn.score(X_test, y_test) # 测试集准确率

y_pred = knn.predict(X_test) # 预测标签

```

相关推荐
戴西软件4 分钟前
戴西 DLM 许可授权管理系统:破解无网络环境下工业软件授权难题,助力制造企业降本增效
网络·人工智能·python·深度学习·程序人生·算法·制造
前端不太难4 分钟前
从GPU到AI工厂:智能时代的基础设施革命
人工智能·gpu算力
AI焦点9 分钟前
跨越协议鸿沟:Tool Use状态机从Anthropic到OpenAI兼容体系的适配要点
前端·人工智能
Black蜡笔小新16 分钟前
制造业AI质检工作站/企业AI算力工作站DLTM助力制造业质检智能化升级
人工智能·深度学习·机器学习
提示词牛马17 分钟前
2026年人工智能(AI)现状分析报告
人工智能
watersink25 分钟前
MCP 协议与 Skill 开发架构培训文档
人工智能·架构
做萤石二次开发的哈哈26 分钟前
AI 陪护机器人硬件如何接入萤石ERTC 实现实时通话?
人工智能·音视频·实时音视频·萤石开放平台
Luhui Dev32 分钟前
Anthropic 的 Claude Code 翻车经验
人工智能·luhuidev
DataX_ruby8234 分钟前
2026年数据中台厂商市场份额分析
大数据·人工智能·数据治理·数据中台
Luchang-Li35 分钟前
GPU传输带宽等信息监控nvidia-smi
人工智能·gpu·监控·性能·带宽