京公网安备 11010802034615号
经营许可证编号:京B2-20210330
R语言使用密度聚类笔法处理数据
说明
除了使用距离作为聚类指标,还可以使用密度指标来对数据进行聚类处理,将分布稠密的样本与分布稀疏的样本分离开。DBSCAN是最著名的密度聚类算法。
操作
将使用mlbench包提供的仿真数据
library(mlbench)
library(fpc)
使用mlbench库绘制Cassini问题图:
set.seed(2)
p = mlbench.cassini(500)
plot(p$x)

根据数据密度完成聚类:
ds = dbscan(dist(p$x),0.2,2,countmode = NULL,method = "dist")
> ds
dbscan Pts=500 MinPts=2 eps=0.2
1 2 3
seed 200 200 100
total 200 200 100
绘制聚类结果散点图,属于不同簇的数据点选用不的颜色:
plot(ds,p$x)

根据聚簇标号绘制的彩色散点图
调用dbscan来预测数据点可能被划分到那个簇,在样例中,首先在矩阵P中处理三个输入值:
生成y矩阵
y = matrix(0,nrow = 3,ncol = 2)
y[1,] = c(0,0)
y[2,] = c(0,-1.5)
y[3,] = c(1,1)
y
[,1] [,2]
[1,] 0 0.0
[2,] 0 -1.5
[3,] 1 1.0
预测数据点属于那个簇:
predict(ds,p$x,y)
[1] 3 1 2
原理
基于密度的聚类算法利用了密度可达以及密度相连的特点,因而适用于处理非线性聚类问题。当探讨密度聚类算法的处理过程前,我们要知道基于密度的聚类算法通常需要考虑两个参数,eps和MinPts,其中eps为最大领域半径,MinPts是领域半径范围内的最小点数。
确定好这两个参数后,如果给定对象其领域范围内的样本点个数大于MinPts,则称该对象为核心点。
如果一个对象其领域半径范围内的样本点个数小于MinPts,但紧挨着核心点,则称该对象为边缘点。
如果P对象的eps领域范围内样本点个数大于MinPts,则称该对象为核心对象。
进一步,我们还要定义两点间密度可达的概念,给定两点p和q,如果p为核心对象,且q在p的eps邻域内,则称p直接密度可以达q。如果存在一系列的点,p1,p2,…,pn。且p1 = q,pn = p,根据Eps和MinPts的值,当1<=i<=n,pi + 1 直接密度可以达pi,则称p的一般密度可以达q。
DBSCAN处理过程:
1.随机选择一个点p
2.给定Eps和MinPts的条件下,获得所有p密度可达的点
3.如果p是核心对象,则p和所有p密度可达的点被标记成一个簇,如果p是一个边缘点,找不到密度可达点,则将其标记为噪声。接着处理其它点。
4.重复这个过程,直到所有的点被处理。
本例使用dbscan算法聚类Cassini数据集,将可达距离设置为0.2,最小可达点个数设置为2,计算进度设为NULL,使用距离矩阵做为计算依据。经过算法处理,数据被划分成三个簇,每个簇的大小分别为200,200,100.通过聚簇的结果示意图也可以发现Cassini图被不同颜色区分开来。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据分析、业务监控、运营复盘等场景中,列值趋势计算是核心需求之一。无论是分析销售额的月度增长、用户活跃的变化趋势、库存 ...
2026-06-12在数字经济深度渗透的当下,消费者的购买行为已从过去的 “被动接受” 转变为 “主动决策”。流量红利消退、获客成本攀升、用户 ...
2026-06-12CDA三级认证是三个级别中的塔尖,全面考察数据战略、团队领导和复杂项目的综合能力。它所对应的《敏捷数据挖掘》教材,不再局限 ...
2026-06-12在游戏产业的商业逻辑中,付费玩家是支撑游戏生存与发展的核心支柱。行业普遍遵循 “二八定律”:20% 的付费玩家贡献了游戏 80% ...
2026-06-11【核心关键词】企业、定位、传统、产品、互联网、可视化、业务侧、数字化、结构化、数据分析、传统制造业、市场状态、发展空间 ...
2026-06-11 解读《CDA二级教材:量化策略分析(2025)》的全景结构与学习逻辑 ” CDA二级认证是企业招聘数据分析师时最常提及的证书门槛 ...
2026-06-11【核心关键词】药企、可视化、营销、分类、数据分析师、销售数据、业务人员、指导方向、分析报告、营销数据、营销医生 【专访摘 ...
2026-06-10在统计学分析、问卷调研、实验验证、业务复盘等场景中,卡方检验与 T 检验是应用最广泛的两类基础假设检验方法。前者专门处理分 ...
2026-06-10 很多数据分析师每天都在计算指标、制作报表,但当被问到“什么叫指标数据元”“指标数据标准包含哪些核心维度”“指标数据质 ...
2026-06-10在MySQL数据库日常查询、数据统计、后台接口开发、数据导出等场景中,开发者经常需要查询数据表除某几列之外的所有字段。例如查 ...
2026-06-09在Python网络请求、爬虫开发、接口测试、数据抓取等实操场景中,requests库是最常用的第三方请求工具,而content属性是requests ...
2026-06-09 数据分析正在重塑每一个行业。CDA认证的三本官方教材,分别对应Level I、Level II、Level III,为你铺就从业务数据分析到数 ...
2026-06-09在数字财务、智慧财税、业财融合深度推进的当下,传统财务模式下数据标准混乱、业务流程碎片化、知识无法沉淀、系统互通性差等问 ...
2026-06-08随着数字经济深度渗透各行各业,数据正式成为继土地、劳动力、资本、技术之后的第五大生产要素,是企业数字化转型、精细化运营、 ...
2026-06-08 很多数据分析师能熟练写SQL、做透视表,但当被问到“数据是从哪里来的?经过哪些加工才进入数据仓库?ETL具体做了什么?”时 ...
2026-06-08【核心关键词】贷款、报表、课程、专业、建模、缺失值、营销、互联网、银行、办公自动化、数据分析、数据预处理、特征工程、贷 ...
2026-06-05在数据库数据查询、业务报表统计、多表关联分析中,LEFT JOIN左连接是使用率最高的SQL关联查询语句。其核心特性是保留左表全部数 ...
2026-06-05 很多数据分析师能熟练地写SQL、做透视表、算描述性统计,但当被问到“如何预测用户流失概率”“如何归因销量下滑的关键因素 ...
2026-06-05任何一款产品从诞生、普及到最终退出市场,都会遵循一套固定的发展规律,这就是产品生命周期理论。在市场竞争日益激烈、产品迭代 ...
2026-06-04在Excel数据分析、办公统计、业务报表制作场景中,数据透视表是数据汇总、分类统计、快速复盘的核心工具,能够高效完成海量原始 ...
2026-06-04