KNN 及其扩展
标签(空格分隔): KNN
代码详见:https://github.com/AresAnt/ML-DL
简单KNN
KNN的算法很简单,其实就是一个简单的监督学习,是一个简单的欧式距离计算。
算法流程如下:
- 首先将传进来的参数进行归一化(即除以他们的 max - min , 将数值转化为 0~1 之间)
- 然后将测试数集进行拆分,拆分为一部分为训练集,一部分为测试集
- 然后对测试集中每个用例进行全局的计算,即测试集中的用例每个跟训练集上的用例做欧氏距离的计算,然后进行排序,筛选出最近的K个值,然后最近的K个值对应的分类信息,进行从大到小的排序,最大的那个即为该测试用例的分类最近信息。
这是最为简单的计算方式,简单到以单单来计算用例之间的欧氏距离。其还有不同的方式,如:聚类后的质心点距离来标明该用例属于何种分类,或者对最近距离之间进行比例加成来进行分类。详见scikit-learn中有比较多的内容可以进行借鉴。
此处输入链接的描述












网友评论