KNN算法-分类
1 样本距离判断

(1)欧式距离
欧式距离(Euclidean distance),也称为欧氏度量,是用来衡量两个点之间直线距离的方法。

(2)曼哈顿距离
曼哈顿距离(Manhattan distance),也称为城市街区距离,是在网格状坐标系统中,从一个点到另一个点的距离之和。

2 KNN 算法原理
K-近邻算法(K-Nearest Neighbors,简称KNN)是一种基于样本相似性的分类方法。它通过比较目标样本与其最近的 ( K ) 个邻居样本的类别来决定目标样本的类别。
具体步骤如下:
-
选择 ( K ):确定要考虑的邻居数量 ( K )。
-
计算距离:计算目标样本与所有其他样本的距离,找到距离最近的 ( K ) 个样本。
-
投票决策:统计这 ( K ) 个邻居中各类别的出现次数,目标样本将被分配到出现次数最多的类别。
假设我们有 10000 个样本,并且选择 ( K = 5 )。我们需要对一个待分类的样本 B 进行分类。首先,我们找到与样本 B 距离最近的 5 个样本。假设这 5 个邻居的类别分布如下:
-
类别 A:3 个样本
-
类别 B:1 个样本
-
类别 C:1 个样本
在这种情况下,由于类别 A 的邻居样本最多,样本 B 将被分类为类别 A。
弊端:计算量大,维度灾难,需要选择合适的 ( K ) 值和距离度量
sklearn.neighbors.KNeighborsClassifier 的主要参数和方法如下: 参数 n_neighbors

最低0.47元/天 解锁文章
1291

被折叠的 条评论
为什么被折叠?



