• KNN和K-means算法复习


    算法思想:KNN是指K Nearest Neighbors,临近算法,是指K个最近的邻居的意思。
    算法流程
    计算预测值和所有训练样本的距离值
    对距离值进行排序
    取出前K个距离
    统计前K个距离对应的标签数量
    预测值的标签就是数量最多的标签
    距离计算
    可以计算欧式距离或者曼哈顿距离,根据实际问题情况进行选择
    K值的选择
    选择合适的距离很重要,随着K值的增大,错误率先下降后上升,最后无限大的时候就相当于求样本中数量最多的标签,没有意义

    算法特点
    是一种非参的(模型不会对数据做出任何假设,和线性回归算法相反)、惰性(不需要对数据进行训练)的算法模型

    算法优点
    简单易用
    训练快
    预测效果好
    对异常值不敏感
    算法缺点:
    对内存要求较高

    K-means算法
    算法思想:根据给定的n个数据对象的数据集,构建k个数据对象的数据集,构建K个划分聚类的方法,是一种非监督学习的方法。
    算法流程
    随机选取k个数据对象,每个数据对象代表一个聚类中心
    对剩下的每个对象,计算和聚类中心的距离,赋给最相似的聚类
    重新计算每个聚类的平均值作为新的聚类中心
    不断重复上述过程
    算法优点
    简单,容易理解
    处理大数据集的时候,具有较好的伸缩性
    数据近似高斯分布时效果很好
    复杂度低
    算法缺点
    K值的选取对算法效果有较大影响
    对初始的聚类中心选取依赖
    对异常值敏感
    不合适多分类任务
    不适合数据集分散的任务

    算法优化
    数据预处理:去除离群点或者噪声数据
    合理选择K值
    采用核函数:将空间中的数据点映射到高位的特征空间,在这里再进行聚类

  • 相关阅读:
    gin+gorm+mysql
    【MindSpore易点通】一站式指南
    利用Github Action实现Tornadofx/JavaFx打包
    Linux基础知识 总结
    前端经典面试题 | 闭包的作用和原理
    【发布】Photoshop ICO 文件格式插件 3.0
    一些有趣的VBS脚本
    【C#语言】WinForm窗体
    Gin学习记录1——认识与下载Gin
    idea docker插件安装及使用
  • 原文地址:https://blog.csdn.net/weixin_45963815/article/details/125480365