参考资料:《统计学习方法》 李航
KNN算法
k 近邻法(k-nearest neighbor,kNN)是一种基本的分类与回归方法,也是最简单的机器学习算法之一。k 近邻法的特殊情况是
,称为最近邻算法。
该方法的分类思路是:如果一个样本在特征空间中最邻近 k 个样本中的大多数都属于某一个类别,则该样本也属于这个类别。该方法的回归思路是:通过找到一个样本的最邻近k 个样本,将这些样本属性的平均值赋给该样本,作为该样本的属性。
算法分类过程如下:
事先确定k值,代表对于一个待分类的样本, 我们要寻找几个它的邻近样本。
根据事先确定的距离度量公式,得出在所有已知类别的样本点中,距离待分类样本最近的 k 个样本。 一般情况下,在连续变量情
一、最临近
规则
分类
(
KNN
)
KNN
:通过计算
分类
数据点,与已有数据集
中
的所有数据点的距离。取距离最小的前K个点,根据“少数如从多数”的原则,将这个数据点划分为出现次数最多的哪个类别。
上代码:(一个超级简单的例子)
from sklearn.neighbors import KNeighborsClassifier
#创建数据集x 和标签y
x = [[0],[1],[2],[3]]
k近邻法(k-nearest neighbor,k-NN)也是一种
分类
和回归方法。对于
分类
问题,根据它的名字顾名思义,k近邻法是通过计算距离待
分类
点最近的k个点,然后根据
分类
决策
规则
采用投票方式(k个点
中
出现最多的类别)决定待
分类
点的类别。
上述内容
中
的红体字为K近邻法的三要素:距离如何度量?k值怎么选?
分类
决策
鬼册是什么?这些问题需要一一得到解答
2.K近邻法三要素
2.1 距离度量
特征空间
中
两个是历代你的距离是两个实例点相似度的反映,k近邻模型的特征空......
什么是k近邻?
通俗来讲就是物以类聚,人以群分。具体来讲就是说,同一类别的东西其实是存在非常多的相同的特点,那么我们就可以通过某个某个样本的特点从而预测出它是什么类,或者我们可以通过看一个样本周围的样本都是什么类别,进而预测出它是什么类别,毕竟相同的东西扎堆存在。
所以说,既然是通过它周围的东西推导出它是什么类,那么“周围”到底怎么定义,所以就不得不引入一些距离衡量的东西,那么接下来看一些测量距离的名词。
欧氏距离:其实就是之前我有提到过的二范数,其实也可以理解为两点间的距离,公式如下:就是它们坐标相减的平
knn
使用场景
K近邻
算法
是一种基本的
分类
和回归方法。在
分类
问题
中
,
KNN算法
假设给定的训练集的实例类别已经确定,对于新来的实例,
KNN算法
根据其k个最近邻的训练集实例的类别,通过多数表决等方式对新实例的类别进行预测。
KNN算法
的三个基本要素是:k值的选择(即输入新实例要取多少个训练实例点作为近邻),距离度量方式(欧氏距离,曼哈顿距离等)以及
分类
的
决策
规则
(
常用
的方式是取...
KNN算法
的思想实际上比较简单明了。就是通过判断待
分类
点到已
分类
点群的距离来判断待
分类
点所属类群。下面通过一个简单的例子说明一下:如下图,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。
在
KNN
中
,通过计算对象间距离来作为各个对象之间的非相