概述
K最近邻(k-Nearest Neighbor,KNN)分类算法是最简单的机器学习算法。
白话文解释一下,你有一个样本需要判断它的类别(分类),你有一些样本集(已经分好类的数据),K表示选取离你最近样本的个数,根据K个数据中哪些类别比较多,来决定你这个样本的类别。
本质上,KNN算法就是用距离来衡量样本之间的相似度
算法图示
从训练集中找到和新数据最接近的k条记录,然后根据多数的类别来决定新数据类别。
算法涉及3个主要因素:
- 训练数据集
- 距离或相似度的计算衡量
- k的大小
算法描述
- 已知两类“先验”数据,分别是蓝方块和红三角,他们分布在一个二维空间中
- 有一个未知类别的数据(绿点),需要判断它是属于“蓝方块”还是“红三角”类
- 考察离绿点最近的3个(或k个)数据点的类别,占多数的类别即为绿点判定类别