在具有分类变量和连续变量的高维数据集上使用聚集层次聚类

问题描述

我和我的小组正在研究包含分类变量(二进制和整数)和连续变量的高维数据集。我们想知道什么是用于聚集层次聚类的最佳距离度量和链接方法。我们首先从欧几里得距离和Ward的联系开始,但是随着欧几里得距离和分类变量出现的问题,我们需要一种新的策略。我们尝试使用均值,质心和单链接进行异构欧几里得重叠度量(HEOM)和高尔距离度量,但未获得我们希望得到的明确结果。我们想知道是否应该使用更好的方法或指标进行分析?

以下是我们已经提供的代码的示例:

from distython import HEOM
categorical_ix = [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,28,34,37,39,142,41,46,47,48,49,50,51,52,53,54,55,56,57,59,60,61,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,213,217,218,219,220,221,222,223,224,225]

nan_eqv = 12345

heom_metric = HEOM(features,categorical_ix,nan_equivalents = [nan_eqv])

from sklearn.neighbors import DistanceMetric
dist = DistanceMetric.get_metric(heom_metric.heom)
distance = dist.pairwise(features)

import scipy.cluster.hierarchy as shc
from scipy.cluster.hierarchy import linkage,dendrogram
linkage_matrix = linkage(distance,'average')
plt.figure(figsize=(10,7))  
plt.title("Test")
dendrogram(linkage_matrix)
plt.axhline(y=8,color='r',linestyle='--')
plt.show()

from scipy.cluster.hierarchy import fcluster
k = 4
clusters = fcluster(linkage_matrix,k,criterion='maxclust')
clusters

如果使用Gower的距离或HEOM作为首选方法,我们也将对如何更好地将这些度量标准实现到我们的代码中的任何建议表示赞赏。谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...