我有一个相似矩阵,我使用 Harry - 一个字符串相似性工具创建,我想绘制一些树状图,看看我是否能在数据中找到一些簇/组。我使用以下相似性度量:
("为了比较,Harry从输入中加载一组字符串,计算指定的相似性度量并将相似值矩阵写入输出")
起初,就像我第一次使用R一样,我没有注意到^
的文档,所以我将它用于相似度矩阵 。我知道我应该使用相异矩阵,我知道,因为我的相似性矩阵被归一化[0,1],我可以做 difimilarity = 1 - 相似性然后使用[\s,.;]{pattern}(?:[\s,.;]|$)
。
但是,我使用hclust
使用相似度矩阵获得的群组比使用hclust
使用hclust
及其对应的群体要好得多>不相似矩阵。
我也尝试使用hclust
软件包和同样的问题,我得到的组不是我预期的,发生了。
使用相似度函数得到树形图:
proxy
我尝试了不相似矩阵:
plot(hclust(as.dist(""similarityMATRIX""), "average"))
和
plot(hclust(as.dist(""dissimilarityMATRIX""), "average"))
从(1)我得到了我认为非常好的树形图,因此我可以从中获得非常好的群体。从(2)和(3)我得到相同的树状图,我可以得到的组不是我得到的组(1)
我说这些群体不好/好,因为目前我的数据量很少,无法分析,所以我可以很容易地检查它们。
这对我来说是否有意义?有什么可以证明这一点吗?关于如何使用相似性matrizx进行聚类的一些建议。是否有更好的方法可视化相似性矩阵而不是树状图?
答案 0 :(得分:0)
您可以使用热图可视化相似性矩阵(例如,使用heatmaply R包)。
您可以使用dendextend R包函数foreach (var column in dgwCustomTableSelected.Columns)
{
if (column is DataGridTextColumn)
{
((DataGridTextColumn)column).Binding =
new Binding() {
Converter = new NullValueConverter((string)column.Header)
};
}
}
检查树形图是否合适(使用github中的最新版本)。
基于距离的聚类可以使用hclust完成,但也可以使用cluster :: pam(k-medoids)。