没有数据矩阵,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 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用单位矩阵的坐标不起作用[重复]

OpenGL GLSL - 投影矩阵不起作用

为啥变换矩阵在 OpenGL 中不起作用

在 OpenGL 中使用矩阵——MVP 矩阵不起作用

Dijkstra 算法不起作用(邻接矩阵)

计算lookAt矩阵不起作用?