没有数据矩阵,nbclust 不起作用
Posted
技术标签:
【中文标题】没有数据矩阵,nbclust 不起作用【英文标题】:nbclust doesn't work without data matrix 【发布时间】:2015-09-27 19:53:37 【问题描述】:我试图使用 nbclust 函数并得到错误: “t(jeu) %*% jeu 中的错误:需要数字/复矩阵/向量参数” 这就是我运行函数的方式:
NbClust(input_data, diss = dissimilarity_matrix,
distance = NULL,
min.nc=2, max.nc=5, method = "ward.D2",
index = "all")
错误可能是因为我的数据不是数字,但相异矩阵是。 所有其他聚类算法都不需要数据矩阵,有没有办法在没有数据的情况下使用该函数?
【问题讨论】:
你能不能用 as.matrix(input_data) 把数据做成矩阵 问题不是因为 input_data 不是矩阵,而是因为数据本身不是数字...... 【参考方案1】:通过快速查看 NbClust 文档,似乎可以只提供省略原始数据源的相异矩阵。
NbClust(数据 = NULL,diss = XYZ,距离 = NULL ...等
由于提供了矩阵(此处称为 XYZ,而不是您的“diss = dissimilarity_matrix”),数据和距离必须设置为 NULL。这在功能用法中有所说明。因此,只要您的 diss 是应有的数值,指定“data=NULL”就可以解决您的问题。
【讨论】:
只要您提供 diss(相异矩阵)的数值并将数据(在您的情况下为非数值)设置为 null,根据详细功能,您应该能够检索 NbClust 索引.【参考方案2】:一些索引需要数值数据。
因此,该包不能用于您的数据集,除非您禁用这些方法/索引。
【讨论】:
以上是关于没有数据矩阵,nbclust 不起作用的主要内容,如果未能解决你的问题,请参考以下文章