KNN 及其扩展

KNN 及其扩展

标签(空格分隔): KNN


代码详见:https://github.com/AresAnt/ML-DL

简单KNN

KNN的算法很简单,其实就是一个简单的监督学习,是一个简单的欧式距离计算。
算法流程如下:

  • 首先将传进来的参数进行归一化(即除以他们的 max - min , 将数值转化为 0~1 之间)
  • 然后将测试数集进行拆分,拆分为一部分为训练集,一部分为测试集
  • 然后对测试集中每个用例进行全局的计算,即测试集中的用例每个跟训练集上的用例做欧氏距离的计算,然后进行排序,筛选出最近的K个值,然后最近的K个值对应的分类信息,进行从大到小的排序,最大的那个即为该测试用例的分类最近信息。

这是最为简单的计算方式,简单到以单单来计算用例之间的欧氏距离。其还有不同的方式,如:聚类后的质心点距离来标明该用例属于何种分类,或者对最近距离之间进行比例加成来进行分类。详见scikit-learn中有比较多的内容可以进行借鉴。
此处输入链接的描述

你可能感兴趣的:(KNN 及其扩展)