• KNN和K-means算法复习


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

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

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

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

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

  • 相关阅读:
    JVM(尚硅谷)学习之垃圾回收相关算法
    使用SpringBoot整合redis多主多从集群
    Redis为什么变慢了?如何排查Redis性能问题
    Go语言中开启和退出协程
    TairSearch:加速多列索引查询
    var let const 区别
    一个简单的敏捷开发的例子
    数据分析师到底是做什么的?写Python或SQL语句?
    Power BI 矩阵总计放表第一列
    餐厅订座预约小程序的效果如何
  • 原文地址:https://blog.csdn.net/weixin_45963815/article/details/125480365