【问题标题】:How to fix the error occured when using NbClust() with dissimilarity matrix?如何修复使用 NbClust() 与相异矩阵时发生的错误?
【发布时间】:2018-04-17 02:29:00
【问题描述】:

我的数据既有分类变量也有连续变量。我想使用 NbClust() 函数来确定最佳簇数(k)。所以我使用了相异矩阵并将距离设置为NULL,但是使用下面的代码时出现错误:

 res.nb <- NbClust(diss=gower_dist_gender,distance=NULL, min.nc = 1, 
              max.nc = 30,method = "complete", index ="all") 

我该如何解决这个错误?问题是什么?

错误是:NbClust中的错误(data = NULL,diss = gower_dist_gender,distance = NULL,: 需要数据矩阵。只能计算 frey、mcclain、cindex、sihouette 和 dunn。

提前感谢大家。

【问题讨论】:

  • gower_dist_gender 是如何计算的?
  • gower_dist_gender

标签: r compiler-errors cluster-analysis


【解决方案1】:

一些索引需要数值数据。

因此,此函数不能用于您的数据集,除非只选择不需要坐标的索引

引用错误信息:

 需要数据矩阵。只能计算 frey、mcclain、cindex、sihouette 和 dunn。

只有这些索引适用于距离矩阵。所有其他索引都需要数字坐标。

【讨论】:

  • :由于我的数据是混合的,我使用相异矩阵来满足这些条件(我的意思是每当需要数字数据时,我都使用相异矩阵)。似乎它不起作用。为什么相异矩阵不能弥补这些不足?
  • :错误中提到的索引(frey、mcclain、cindex 和 dunn)不起作用。我可以只使用剪影,这个索引效果很好。但是我需要更多索引的结果来确定我的数据集群的数量。
  • 错误中提到的方法包括frey,mcclain,dunn,cindex在代码中使用时出现错误:rep(NA,nn)中的错误:无效的'times'参数只是silhoutte方法效果很好。我将非常感谢任何帮助或指导。
  • 我不使用 R(我讨厌它的语法),所以我不能给你一个教程。但是对于其他索引:阅读索引的定义,您应该会明白为什么它们只适用于数字数据。
  • 例如,Davies-Bouldin 使用到集群 center 的距离,其中中心被计算为算术平均值 - 所以它需要数字属性。因此,如果 NBclust 无法计算 DB 索引,那是完全合理的。
猜你喜欢
  • 2017-10-30
  • 2019-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
  • 2019-11-29
相关资源
最近更新 更多