knn算法(K-近邻算法)

knn算法的原理:

存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据几种前K个最相似的数据,这就是K-近邻算法中K的出处,通常K是不大于20的整数。最后,选择K个最相似数据中出现次数最多的分类,作为新数据的分类。

简单地说,Knn算法采用测量不同特征值之间的距离方法进行分类。

优点:精度高、对异常值不敏感、无数据输入假定

缺点:时间复杂度高、空间复杂度高

适用数据范围:数值型和标称型。

机器学习代码的套路:

    1. 准备好训练数据,要求一定是二维的

    2. 创建算法的实例对象

    3. 进行训练

    4. 准备好预测数据

    5. 进行预测

    6. 评估或者可视化

欧几里得距离(Euclidean Distance)

公式如下:

dist(X, Y) = \sqrt{\sum_{i=1}^n(xi - yi)^2  }

knn算法预测结果可视化的方式:

    1. 交叉表

    2. 图形可视化

优化knn算法的方式有:

    1. 对数据进行优化

            (1) 可以使用标准化对数据进行处理(比较常用的方式)

            (2) 也可以使用正则化对数据进行处理

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容