我可以使用已经计算出的马氏距离而不是欧氏距离在python中创建树状图吗?

时间:2019-02-14 02:55:52

标签: python hierarchical-clustering euclidean-distance dendrogram mahalanobis

我已经为我的数据创建了马氏距离的协方差表,我需要一种显示它的方法,它不是一个巨大的表。 我想创建一个层次聚类树状图,但是scipy.cluster.hierarchy.dendrogram自动计算欧几里得距离,这意味着欧氏距离是根据我的马氏距离计算得出的。 有没有一种方法可以使用已经创建的Mahalanobis表对树状图进行编码?我是否需要将代码一直扩展到一个基本树状图,而该树形图只需要两行代码?

import matplotlib.pyplot as plt
import pandas as pd
import scipy.cluster.hierarchy as shc

# This is the table of Mahalanobis distances that I've already created
# that I'm importing

distances = pd.read_csv('species_all_dist.csv')

# I get rid of the headings column
# so I'm working with just my numbers

df = distances.iloc[:,1:]


# Creating the dendrogram works
# but the linkage automatically calculates Euclidean distances

dend = shc.dendrogram(shc.linkage(df),
                      orientation='left', leaf_font_size=8, labels=headings)

0 个答案:

没有答案