0 前言
KNN算法是由Cover和Hart在1968年提出的使用邻居信息构建最近邻图来做分类的算法,它是机器学习中常用且简单的分类算法。它的核心主要包括三个要素:k值的选择、距离计算、分类规则,主要弄懂了这三个要素便能上手KNN算法了。
1 工作原理概述
首先,你得理解KNN算法的工作原理:假如我们有一堆的二维数据点(多维的也是可以,用二维方便举例),将这些点描绘在一个二维平面图上(如下图,五角星为一类,圆圈也为一类)。
现在我们有一个新样本需要我们去预测,也将它画到图中(如下图的三角形),然后计算离他最近的k个样本点,每个类别个数。比如k取5的时候,找到离它最近的5个样本(假设是圈出来的五个),计算这5个邻居样本点各类点个数:五角星为4个、圈圈为1个,所以三角形这个新样本预测为五角星类别!!!
2 K值的选择
对于k值的选取会直接影响模型的好坏,一般我们通过会通过交叉验证方法来选择合适的k值(k是奇数,如果是偶数,