聚类分析评估 上|学习笔记

简介: 快速学习聚类分析评估 上

开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践聚类分析评估 上】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1067/detail/15536


聚类分析评估 上

 

内容介绍

一、评估原因

二、有效性度量

三、内部指标

 

一、评估原因

1、确定一组数据的距离趋势,即区分数据中是否存在非随机结构。看数据中是否存在聚类。

2、评估序列分析的结果如何与数据匹配,而不涉及到外部信息。也就是说,使用序列是无监督的。基本上不用太依赖于外部的专业知识或背景知识。

3、聚类算法评估可以比较两组不同的距离分析结果,哪一个距离效果更好。

4、可以比较簇,例如在一个聚类的结果当中有几个簇,也可以比较两个簇之间的优劣。

5、可以确定正确的聚类数量。利用评估可以确定正确的具体数量,例如k-means算法中的k要设成多大就可以通过评估算法来帮助决策。

下图最左边是原始样本,右边第一个是k-means算法,第二个是层次聚类的全链,第三个是密度聚类的dbscan算法。这三个算法的聚类结果并不相同。要辨别优劣,就需要使用聚类算法评估的方法。

image.png

 

二、有效性度量

1、外部指标,即用有监督的方法提供标签,然后来进行评估。聚类是无监督的,但是为了验证优劣,可以事先在样本上面提供标签,知道样本属于哪一类,用样本属性数据适应聚类算法。对比聚类算法聚成的类和真实的类之间的相似和差异,以此来判断距聚类算法的优劣,这个方法很好,但是工作量巨大,事先还要打好样本的标签。

在实际应用里面,在非常重要的场合可以用这种方法,但是大多数时候不用,因为需要额外的工作量。

2、内部指标,即完全用无监督的内部评价,如前面学过的sse就是一个内部指标。

3、相对指标,它综合了外部指标和内部指标。例如可以使用外部指标的标签代表信息,然后再结合内部指标的SsE进行综合。

这个是比较学术性的学说探讨。但在实际的工作中,用的比较多的还是内部指标,因为本身就是无监督的数据挖掘方法。

 

三、内部指标

1、sse,即误差平方和,全称为sum of squares for error,误差平方和也叫做残差平方和,反映每个样本各观测值的离散状况即中心 值的离散状况,又称为组内平方和或者是误差项平方和。

 image.png 

它可以用于确定聚类的数目,例如上图里有十个自燃簇,真实样本就是十个。如何判断出聚成几类,看下图,有一个sse曲线的拐点,也叫做弯形的判据,肘部的法则。

横坐标是聚类数量k,纵坐标是误差平方和sse。当聚类的数目比较少时,sse比较大。当聚类数量增加的时候,sse就会变小,变得比较平滑,在图中10是曲线的拐点,这个拐点就是聚类最好的数目,所以可以确定聚类的数目。这就是sse这个指标本身的含义和价值。

2、凝聚度与分离度。凝聚度用来衡量簇中的对象有多密切相关,越凝聚越密切相关。而分离度用来衡量一个簇与其它簇有多独特或完全分离。

凝聚度和分离度可以用这两个指标来表示,wss和bss。

image.png(1)公式:wss是Within,内部的,即一个簇内部的对象有多密切。如图,设对象的样本为x与平均值中心的误差平方以后求和,再在外面求类的和。

一个类最好是每个样本都在中心,那误差就是零,每个样本都在中心的聚类效果最好,但是真实样本中不可能出现。

bss公式是类和类之间的误差,即类的中心和类的中心之间的差值平方,然后再求和。其中的Ci是某一个簇的大小。

(2)直观理解

左图表示的是凝聚度,是看一个簇里面的对象如何相似,如果都集中在簇中心效果最好。

右图是分离度,要综合考虑几个簇所有样本之间的距离,也可以用两个簇的中心之间的距离来表示。

相关文章
|
存储 运维 网络协议
如何实现 呼叫速率(caps) 值控制
首先,企业需要明确的是呼叫中心系统搭建的目的。搭建这个呼叫中心是想用来做什么呢? 是为了企业当做呼入型的客服使用? 还是用来当电话外呼使用? 是企业想做营销用呢还是政府单位办公使用? 是要做外包服务呢还是自己用? 是想挣钱用呢还是想做客户服务使用? 需求 呼叫中心的搭建肯定有需求,这就要把一份需求文档写出来。比如想要做什么,每一点写的清清楚楚: 需求包括现在有什么? 碰到了什么问题? 以后想整成什么样? 设置,扩容以及升级的快速,成本与灵活性 一个企业的业务、流程与规模有时候随着市场的快速成长会有很大的变化。这时候,企业的呼叫中心系统就要能够快速的适应市场,能让企业做出适当的调整。比如,呼叫中
|
存储 机器学习/深度学习 数据可视化
结合多模态RAG和异步调用实现大模型内容
文章探讨了如何利用多模态大模型和工程优化手段提升物流理赔业务效率。核心方案包括:通过多模态RAG技术实现图片查重,结合异步调用方法优化货损识别功能。
627 36
结合多模态RAG和异步调用实现大模型内容
|
Rust 数据可视化 C++
WASM性能分析-插桩方案
本文结合了代码插桩和性能火焰图的技术,以 WebAssembly 为例介绍了性能分析的方法和相关实现。
872 13
|
机器学习/深度学习 算法 PyTorch
昇腾910-PyTorch 实现 ResNet50图像分类
本实验基于PyTorch,在昇腾平台上使用ResNet50对CIFAR10数据集进行图像分类训练。内容涵盖ResNet50的网络架构、残差模块分析及训练代码详解。通过端到端的实战讲解,帮助读者理解如何在深度学习中应用ResNet50模型,并实现高效的图像分类任务。实验包括数据预处理、模型搭建、训练与测试等环节,旨在提升模型的准确率和训练效率。
770 54
|
存储 缓存 安全
从原理到实践:掌握DPDK内存池技术(下)
从原理到实践:掌握DPDK内存池技术
|
机器学习/深度学习 人工智能 自然语言处理
AI与代理IP:携手共创美好未来
在数字化浪潮中,人工智能(AI)与代理IP技术的融合正推动网络环境的智能化发展。AI凭借深度学习、自然语言处理等能力,结合代理IP的匿名性和灵活性,为网络安全、数据分析、内容分发等领域带来革命性变革。本文探讨两者协同作用,通过案例和代码展示其如何共同优化网络性能、保护隐私并提升效率,展望未来智能化、安全化的网络环境。 AI与代理IP的融合不仅提升了网络访问的效率与稳定性,还为智能风控、智能客服及全球内容分发网络(CDN)等应用提供了坚实支持。AI优化代理IP选择与调度,代理IP则保障AI应用的安全与隐私,二者相辅相成,共同推动全球化、智能化的发展趋势。
461 7
|
前端开发 人机交互
langchain 入门指南 - ReAct 模式
langchain 入门指南 - ReAct 模式
1068 1
|
缓存 前端开发
keep-alive缓存三级及三级以上路由
keep-alive缓存三级及三级以上路由
745 0
|
安全 Unix Linux
Unix是一个多用户、多任务的操作系统
Unix是一个多用户、多任务的操作系统
857 3
|
SQL API Apache
Dinky是一个基于Apache Flink的数据集成工具
Dinky是一个基于Apache Flink的数据集成工具
1065 1

热门文章

最新文章

下一篇
开通oss服务