现在的位置: 首页 > 综合 > 正文

Python机器学习实战<三>:k-邻近算法

2018年03月20日 ⁄ 综合 ⁄ 共 477字 ⁄ 字号 评论关闭

k邻近算法采用测量不同特征值之间的距离方法进行分类。优点:精度高、对异常值不敏感、没有数据输入假定;缺点:计算复杂度高、空间复杂度高(占内存);使用数据范围:数值型和标称型。

k-邻近算法的工作原理是:存在一个训练样本集,并且每个数据都存在标签,即我们知道每个数据都对应的哪个分类。输入一个没有标签的新数据,将新数据的每个特征和样本集中的所有数据进行笔记哦啊,提取出样本集中特征最相似(邻近)的分类标签,一般选取前k个最相似的数据,k一般不超过20,选择k个数据中出现次数最多的分类就是新数据的分类。其实k邻近算法可以理解为哈利波特里面的那个择校帽,它把志同道合(相似)的人分在一起。

一个简单的例子如下:

假定k=3,由于最邻近的3部电影都是爱情片,所以未知电影就是爱情片。

具体的算法流程如下:

1.获取数据,通过网络或者自己生成数据

2.数据处理,将数据处理成一定的可以准确识别的格式

3.分析数据,要将得到的数据值进行归一化,将所有的特征值都转化到0到1或者-1到1之间,排除不同权重的影响

4.计算距离矩阵,排序得到前k个邻近数据,得到分类

5.测试,计算错误率

抱歉!评论已关闭.