R语言统计分析——围绕中心点的聚类(PAM)

ops/2025/1/15 19:39:13/

参考资料:R语言实战【第2版】

        因为K均值聚类方法是基于均值,所以它对异常值很敏感。一个更稳健的方法是围绕中心点的划分(PAM)。与其用质心(变量均值向量)表示类,不如用一个最有代表性的观测值来表示(成为中心点)。K均值聚类一般使用欧几里得距离,而PAM可以使用任意的距离来计算。因此,PAM可以容纳混合数据类型,并且不仅限于连续变量

        PAM算法如下:

(1)随机选择K个观测值(每个都成为中心点)

(2)计算观测值到各个中心的距离/相异性

(3)把每个观测值分配到最近的中心点

(4)计算每个中心点到每个观测值的距离中和(总成本)

(5)选择一个该类中不是中心的点,并和中心点互换

(6)重新把每个点分配到距离它最近的中心点

(7)再次计算总成本

(8)如果总成本比步骤(4)计算的总成本少,把新的点作为中心点

(9)重复步骤(5)~(8)直到中心点不在改变。

        我们可以使用cluster包中的pam()函数使用基于中心点的划分方法。格式是pam(x,k,metric="euclidean",stand=FALSE),这里的x表示数据矩阵或数据框,k表示聚类的个数,metric表示使用的相似性/相异性的度量,而stand是一个逻辑值,表示是否有变量应该在计算该指标之前被标准化。

# 加载wine数据集
data(wine,package="rattle")
# 查看数据集
head(wine)
# 加载cluster包
library(cluster)
# 设置随机种子,用于复现结果
set.seed(1234)
# PAM聚类
fit.pam<-pam(wine[-1],k=3,stand=TRUE)
# 查看聚类后的中心点
fit.pam$medoids
# 绘制聚类结果
clusplot(fit.pam,main="Bivariate Cluster Plot")
# 验证分类结果
ct.pam<-table(wine$Type,fit.pam$clustering)
ct.pam
# 查看兰德指数
randIndex(ct.pam)

 

        注意,这里得到的中心点是葡萄酒数据集中实际的观测值。通过从13个测定变量上得到的前两个主成分绘制每个观测的坐标来创建二元图。每个类用包含其所有点的最小面积的椭圆表示。

        兰德指数用的flexclust包中的兰德指数( Rand index)来量化类型变量和类之间的协议。调整的兰德指数为两种划分提供了一种衡量两个分区之间的协定,即调整后机会的量度。它的变化范围是从–1(不同意)到1 (完全同意)。


http://www.ppmy.cn/ops/150369.html

相关文章

apollo内置eureka dashboard授权登录

要确保访问Eureka Server时要求输入账户和密码&#xff0c;需要确保以下几点&#xff1a; 确保 eurekaSecurityEnabled 配置为 true&#xff1a;这个配置项控制是否启用Eureka的安全认证。如果它被设置为 false&#xff0c;即使配置了用户名和密码&#xff0c;也不会启用安全认…

青少年编程与数学 02-006 前端开发框架VUE 21课题、路由控制

青少年编程与数学 02-006 前端开发框架VUE 21课题、路由控制 一、路由二、路由控制三、应用示例1. 安装Vue Router2. 设置路由3. 在主项目中引入路由4. 创建视图和组件5. 运行项目 课题摘要:本文介绍了Vue项目中的路由控制&#xff0c;包括安装Vue Router、定义路由组件、配置路…

数据取证与恢复:ElcomSoft System Recovery,什么是冷系统分析?

ElcomSoft 系列取证软件 ElcomSoft 系列取证软件支持从计算机和移动设备进行数据提取、解锁文档、解密压缩文件、破解加密容器、查看和分析证据。 计算机和手机取证的完整集合硬件加速解密最多支持10,000计算机协同工作包含全部移动设备数据提取解密分析的相关工具移动设备逻…

Spring Boot 应用开发入门

一、Spring Boot简介 Spring Boot 是一个基于 Spring 框架的开源 Java 基础框架&#xff0c;它简化了基于 Spring 的应用开发。Spring Boot 提供了一种快速、便捷的方式来创建独立、生产级的基于 Spring 框架的应用程序。它通过提供一系列的“启动器”依赖&#xff0c;帮助开发…

软件项目开发关键节点——开源合规扫描

软件项目开发关键节点——开源合规扫描 一、开源合规扫描说明二、扫描的时间节点三、开源合规扫描的目的3.1 确保合规性&#xff1a;3.2 自动化合规检查&#xff1a;3.3 提高透明度&#xff1a;3.4 确保代码质量&#xff1a; 四、开源合规扫描的内容4.1 识别项目中的开源组件&a…

WPF中组件之间传递参数的方法研究

在 WPF (Windows Presentation Foundation) 中&#xff0c;组件&#xff08;或称为控件&#xff09;之间传递参数的方法有很多种。不同的传递方式适用于不同的应用场景&#xff0c;具体选择取决于应用需求、性能、可维护性等因素。以下是几种常见的传递参数的方法&#xff0c;并…

初学stm32 --- ADC采集内部温度传感器

STM32内部温度传感器简介 温度计算方法&#xff08;F1&#xff09; 温度计算式子&#xff1a;

深度学习学习笔记(第29周)

目录 摘要 Abstracts 1. 概述 2. Better 2.1 Batch Normalization&#xff08;批归一化&#xff09; 2.2 High Resolution Classifier&#xff08;高分辨率分类器&#xff09; 2.3 Convolutional With Anchor Boxes&#xff08;带有Anchor Boxes的卷积&#xff09; 2.4…