我有7个变量:A,B,C,D,E,F和G.我为分配比较2个变量并返回标量数的赋值设计了自己的度量。 2个变量之间的度量越接近,这些变量就越接近。例如,如果我比较A和B得到2.2,那么比较A和C得到3.3,那么A和B比A和C更相似。
我想准备一个层次结构图,如果我指定了相似性的所有组合,可能会像集群或树图一样映射出相似之处。
我在MATLAB中知道这是通过连接函数完成的,但是MATLAB中的连接函数给出了用于比较的预先安排的度量标准,例如"欧几里得"。我不需要这个,我只想提出自己的指标并绘制距离。
有没有人对如何做到这一点有任何见解?
答案 0 :(得分:1)
如果您为计算距离的代码函数提供函数句柄,则使用Matlab pdist 函数可以计算自定义成对距离度量。
语法只是
my_distance = pdist(pairs,@ your_function)
其中pairs是包含您的对的数据矩阵,@ your_function是您定义的自定义距离度量函数的句柄。
有关自定义距离函数语法的特定要求,请参阅 pdist 的Matlab文档。
然后,您可以使用统计和机器学习工具箱的层次聚类例程中计算的距离,我假设您拥有该距离,因为您提到了链接