当前位置: 首页 > news >正文

机器学习----k-means聚类

1.聚类
使用某种策略将一些对象分成若干个集合,使同一个集合内的对象比较相似,而属于不同集合的对象之间存在较大的差异。
2.聚类与分类的区别
1)数据分类,是根据新对象的属性将其分配到一个正确的类别中。
2)数据聚类,判断数据是否属于各个独立的分组,使得同一个组的对象相似,不同组间对象差异较大。
3.聚类算法的指标
1)均一性p(准确率):一个簇中包含一个类别的样本,均满足均一性。
(每个簇中正确分类的样本数占该簇的样本总数的比例和)
2)完整性r:同类别的样本被归到相同的簇中。
3)V-measure:均一性+完整性的加权平均
V=[(1+BB)pr]/BB*p+r
4)调整兰德系数(RI)
RI值越大,聚类效果越吻合
4.什么是层次聚类
层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。
(不需要提前确定K值,处理不规则的散点图。)
5.层次聚类的两种策略
1)自下而上法:凝聚型层次聚类,就是一开始每个个体(object)都是一个类,然后根据linkage寻找同类,最后形成一个“类”。

2)自上而下法:分裂型层次聚类,就是反过来,一开始所有个体都属于一个“类”,然后根据linkage排除异己,最后每个个体都成为一个“类”。

6.K-MEANS聚类( 迭代 求解的聚类分析算法)
算法思想:
从初始样例集D中随机选取K个样例作为K个簇中心
计算样例与每个簇中心的欧式距离,然后将其放入最近的簇中心所对应的簇中
重新计算每个簇中心
如果本次计算的簇中心与上一次的相同,则结束聚类过程。
备注1:
(K值确定,随着迭代次数趋向无穷, 个中心点必然会收敛,即对于每种确定的初值选取方式,聚类结果是唯一确定的。经过有限次迭代后,目标函数值与中心点位置都会恒为常量,即该算法迭代过程不是一直无限逼近极小值点的过程,而是经过有限步逼近后,必然会严格等于极小值点,此后再进行迭代,划分方法、中心点、目标函数等都不会再改变。由于对于给定的初值,每一步的过程是完全确定的,不含随机因素。所以对于给定初值,聚类结果是唯一确定的。)
备注2:
(虽然对于给定的初值,算法可以保证收敛,但是对于不同的初值选取情况,算法收敛到的结果可能是不一样的。显然,对于不同的类别数 ,聚类结果必然不同。所以初始中心位置(或初始划分方式)与类别数 是该算法需要调节的超参数。)

7.K-Means聚类优点
(1)简单:k-means并从复杂的数据集中识别未知的数据组
(2)适用于大数据集
(3)k-means 产生更紧密的集群,尤其是球状集群。

8.K-Means聚类缺点
(1)取值顺序:构建算法时数据的排序方式会影响数据集的最终结果。
(2)K-means算法只能在数值数据中进行
(3)随机选择聚类模式会产生不同的聚类结果,从而导致不一致。

相关文章:

  • 姿态分析开源工具箱MMPose使用示例:人体姿势估计
  • 如何安装虚拟机
  • ICP问题 SVD方法推导(Markdown版)
  • java基于ssm+vue+elementui的水果生鲜销售购物商城
  • kafka知识点总结
  • 【vue3】06. 跟着官网学习vue3
  • 任务十一 BERT
  • MyBatis实现多层级collection嵌套查询
  • Containerd【轻量级容器管理工具】
  • 计算机毕业设计ssm+vue基本微信小程序的图书馆座位管理系统
  • 腾讯核心高级架构师汇总Java全栈知识点笔记,“吃透”后成功上岸!
  • 169.多数元素
  • webpack拓展篇(六十七):webpack5 新特性解析
  • CF515E Drazil and Park【思维+线段树】
  • CodeForces 1717E【线性筛】
  • 【Leetcode】101. 对称二叉树
  • [LeetCode] Wiggle Sort
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 08.Android之View事件问题
  • Android Studio:GIT提交项目到远程仓库
  • Angular2开发踩坑系列-生产环境编译
  • JAVA_NIO系列——Channel和Buffer详解
  • Js基础知识(一) - 变量
  • Node + FFmpeg 实现Canvas动画导出视频
  • Promise面试题,控制异步流程
  • Vue官网教程学习过程中值得记录的一些事情
  • vue中实现单选
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 强力优化Rancher k8s中国区的使用体验
  • 区块链技术特点之去中心化特性
  • hi-nginx-1.3.4编译安装
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • # C++之functional库用法整理
  • ###项目技术发展史
  • #控制台大学课堂点名问题_课堂随机点名
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (4)STL算法之比较
  • (4)事件处理——(7)简单事件(Simple events)
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (过滤器)Filter和(监听器)listener
  • (接口自动化)Python3操作MySQL数据库
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (四)JPA - JQPL 实现增删改查
  • (一)80c52学习之旅-起始篇
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • **PHP分步表单提交思路(分页表单提交)
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .bat批处理(一):@echo off
  • .NET CF命令行调试器MDbg入门(一)
  • .Net(C#)常用转换byte转uint32、byte转float等