KNN和K-means深入理解

版权声明:添加我的微信wlagooble,开启一段不一样的旅程 https://blog.csdn.net/nineship/article/details/88245028

目标:

1. KNN 英文

2. KNN的计算步骤

3. K-means英文

4. K-means计算步骤

1. KNN

kNN,k-NearestNeighbor,K邻近算法

2. KNN的计算步骤

 1)算距离:给定测试对象,计算它与训练集中的每个对象的距离

 2)找邻居:圈定距离最近的k个训练对象,作为测试对象的近邻

 3)做分类:根据这k个近邻归属的主要类别,来对测试对象分类

从kNN的算法描述中可以发现,有三个元素很重要,分别是距离度量k的大小分类规则,这便是kNN模型的三要素。

2.1 距离度量

距离度量有很多种方式,要根据具体情况选择合适的距离度量方式。常用的是闵可夫斯基距离(Minkowski Distance)

2.2 k的选择
k的选择会对算法的结果产生重大影响。

如果k值较小,就相当于用较小邻域中的训练实例进行预测,极端情况下k=1,测试实例只和最接近的一个样本有关,训练误差很小(0),但是如果这个样本恰好是噪声,预测就会出错,测试误差很大。也就是所,当k值较小的,会产生过拟合的现象。

如果k值较大,就相当于用很大邻域中的训练实例进行预测,极端情况是k=n,测试实例的结果是训练数据集中实例最多的类,这样会产生欠拟合。

在应用中,一般选择较小k并且k是奇数。通常采用交叉验证的方法来选取合适的k值。

2.3 分类规则

kNN中的分类决策规则通常是多数表决,即由测试样本的k个临近样本的多数类决定测试样本的类别

代码这里就不贴出来了,也比较简单,如果想要的,可以找我。

3 K-means 英文

k-means clustering algorithm

4 K-means计算步骤

k-means算法的基本步骤如下:

4.1 随机选择k个样本作为初始化的中心点

4.2 分别计算其它样本到这k个中心点的距离,并分别将这些样本划分给距离最近的那个中心

4.3 重新计算k类样本的均值,得到新的k个中心点

4.4 重复步骤2和3,直到样本到中心点的距离不再改变,或者迭代达到一定次数为止

猜你喜欢

转载自blog.csdn.net/nineship/article/details/88245028