KNN和K-means算法复习

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值