100天机器学习实践之第7天

K—近邻分类算法(KNN)

KNN是什么?

K—近邻算法(简称KNN)是一种虽然简单但很常用的分类算法,也可用于回归分析。

KNN是非参数的(它不对底层数据分布做出任何假设),基于实例(我们的算法不会明确建立学习模型,相反,它选择记住训练实例)并使用在监督学习环境中。

KNN如何工作?

KNN用于分类——输出是类别之一(离散值)。这个方法有三个因素很关键:已经分好类的训练集,每条单个记录之间的距离,以及K值即最近邻居数量。

KNN工作原理

做出预测

要为一个没有标签的对象分类,首先计算这个对象与已经分类对象之间的距离,标识离它最近的K个邻居,最近的邻居中的主要分类将作为这个对象的分类。对于输入的实数变量,最常用的距离计算方法是欧几里德几何距离。

KNN预测

距离

欧几里德距离计算为新点与现有点之间的平方差之和的平方根。其他常用距离计算方法还包括:

  • Hamming 距离
  • Manhattan 距离
  • Minkowski 距离

欧几里德距离

K值

找到K值并不容易,K值过小噪声对结果干扰较大,K值过大计算成本较高。K值的设定很大程度上依赖于你的实际情况,有时需要测试每个K值然后作出决定。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券