{A}
AlgoViz
首页
路线图
题单
教程
题目
可视化
错题本
进度
登录
加载中…
K 近邻 KNN
分类:取最近的 k 个邻居,按多数投票决定待分类点类别。
k (邻居数):
速度:
0.5x
1x
2x
4x
圆点=训练样本(颜色=类别),黄点=待分类;坐标 0–10。
计算待分类点 (5,5) 到各训练点的距离
步骤 1 / 4
计算待分类点 (5,5) 到各训练点的距离
算法代码
复制代码
当前高亮行:
1
(计算待分类点 (5,5) 到各训练点的距离)
1
function
knn(data, labels, target, k) {
2
dists = data.map(p => [euclid(p, target), label]);
3
dists.sort(by dist);
4
topK = dists.slice(
0
, k);
5
return
majority(topK.labels);
6
}