分类器算法:
积极学习方法:eager learner,是先用数据进行模型训练再进行打分的方法。如前面学到的线性回归和Logistic分析,都是通过训练数据集得到分类模型,再利用训练后的模型对新的测试数据进行打分。
懒惰学习方法:lazy learner,是先不进行数据建模,直接输入测试数据进行的方法。如KNN分类器。
今天,小编就和大家一起来学习认识KNN分类器算法。
1. KNN原理
回顾K-means聚类算法,通过距离来判断样本距离哪个类别中心点更近,从而判断样本数据哪个类。
与聚类算法不同的是,分类算法已经有了每个样本的类别,所以,我们可以把距离进行划分类的思想带入到分类算法中。
1.1 最小距离分类法
过程: 使用测试样本与类别中所有样本点中心的距离作为分类标准。当有一个新的样本时,只需判断该样本距离哪个中心更近,就将该样本划分到哪个类别中。
缺点: 中心点是该类别所有样本的中心,有时不能很好地反映出每个类别的特征空间范围,因此经常会造成误判。
1.2 最近邻方法
过程: 使用与测试样本距离最近的样本类别作为最终的分类类别。即计算测试样本与其他训练样本的距离,并从中找到距离该测试样本最近的训练样本,把该训练样本称作最近邻训练样本,最终以最近邻训练样本的类别作为最终的分类类别。
缺点:只使用了距离最近的样本,因此非常容易受到异常点的影响,容易造成过拟合的情况。
1.3 K近邻算法
过程: 计算测试样本与所有训练样本的距离,并从中找到距离该测试样本最近的k个训练样本,把这k个训