K—近邻分类算法(KNN)
KNN是什么?
K—近邻算法(简称KNN)是一种虽然简单但很常用的分类算法,也可用于回归分析。
KNN是非参数的(它不对底层数据分布做出任何假设),基于实例(我们的算法不会明确建立学习模型,相反,它选择记住训练实例)并使用在监督学习环境中。
KNN如何工作?
KNN用于分类——输出是类别之一(离散值)。这个方法有三个因素很关键:已经分好类的训练集,每条单个记录之间的距离,以及K值即最近邻居数量。
KNN工作原理
做出预测
要为一个没有标签的对象分类,首先计算这个对象与已经分类对象之间的距离,标识离它最近的K个邻居,最近的邻居中的主要分类将作为这个对象的分类。对于输入的实数变量,最常用的距离计算方法是欧几里德几何距离。
KNN预测距离
欧几里德距离计算为新点与现有点之间的平方差之和的平方根。其他常用距离计算方法还包括:
- Hamming 距离
- Manhattan 距离
- Minkowski 距离
K值
找到K值并不容易,K值过小噪声对结果干扰较大,K值过大计算成本较高。K值的设定很大程度上依赖于你的实际情况,有时需要测试每个K值然后作出决定。
网友评论