k近邻算法--理解和使用场景

烈酒焚心 提交于 2019-12-04 23:48:43

1. k近邻算法:

                数学知识欧式距离:

                         

               使用k近邻算法的条件:

                        1. 你需要一个训练的数据集,这个数据集包含各种特征值和对应的label值 ,在使用前需要将各种特征值

                       归一化处理。

                        2. 利用训练的数据集来对要分类的数据进行分类:

                                 根据欧式距离计算出要预测的数据与训练数据集中距离最短的前k个值,然后根据前k个值对应的label

                         统计出 label值最最多的,如选择的前k个对应的label:['dog','dog','dog','fish'] ,那么这个结果是dog类。

             k近邻算法特点:

                      优点: 计算精度高,不受异常值影响。

                      缺点: 计算复杂度高,空间复杂度高

                     适用于: 带lable的数值类

             python中主要使用函数:

             主要的使用numpy 模块,这个模块主要有两种数据类型: 

                         1.  array 类型

                         2.  matrix 类型 

            mat:   将array 转化成 matrix

            matix.min(0)  获取特征值最小值

            matix.max(0)  获取特征值最大值      

            参考代码:https://github.com/wujianqiangwjq/machine-learn/blob/master/knn.py

            

                   

                       

            

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!