R语言DBSCAN聚类识别异常值,如果有六个变量可以吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言DBSCAN聚类识别异常值,如果有六个变量可以吗?相关的知识,希望对你有一定的参考价值。

对空气质量数据识别异常值,有六个变量,pm2.5,c0,co2等等一共6个,想通过R语言用DBSCAN聚类算法识别异常值,该怎么做?

参考技术A 好像是吧。[m,n]=size(x);输入的变量x只是个二维的。追问

就是说只能有两个变量吗?

R中DBSCAN的聚类中心平均值?

【中文标题】R中DBSCAN的聚类中心平均值?【英文标题】:Cluster center mean of DBSCAN in R? 【发布时间】:2011-12-23 18:55:51 【问题描述】:

在包fpc 中使用dbscan 我可以获得以下输出:

dbscan Pts=322 MinPts=20 eps=0.005
        0   1
seed    0 233
border 87   2
total  87 235

但我需要找到聚类中心(具有大多数种子的聚类的平均值)。谁能告诉我如何进行此操作?

【问题讨论】:

【参考方案1】:

您需要了解,当 DBSCAN 寻找任意形状的集群时,平均值可能在集群之外。因此,查看 DBSCAN 集群的方法并不明智。

【讨论】:

【参考方案2】:

只需使用您选择的集群 ID 索引回原始数据即可。然后,您可以轻松地对子集进行任何进一步的处理。这是一个例子:

library(fpc)

n = 100
set.seed(12345)
data = matrix(rnorm(n*3), nrow=n)
data.ds = dbscan(data, 0.5)
> data.ds
dbscan Pts=100 MinPts=5 eps=0.5
        0 1 2 3
seed    0 1 3 1
border 83 4 4 4
total  83 5 7 5
> colMeans(data[data.ds$cluster==0, ])
[1]  0.28521404 -0.02804152 -0.06836167

【讨论】:

以上是关于R语言DBSCAN聚类识别异常值,如果有六个变量可以吗?的主要内容,如果未能解决你的问题,请参考以下文章

聚类算法--DBSCAN

DBSCAN聚类算法

DBSCAN聚类以及sklearn库代码实现

聚类分析二:DBSCAN算法

机器学习--聚类系列--DBSCAN算法

R语言实现密度聚类