gpt4 book ai didi

python - 用于分层聚类 Python 的三角形与方形距离矩阵?

转载 作者:太空狗 更新时间:2023-10-30 02:28:33 24 4
gpt4 key购买 nike

<分区>

我一直在试验 Hierarchical Clustering,在 R 中它非常简单 hclust(as.dist(X),method="average") 。我在 Python 中找到了一个方法,该方法也非常简单,只是我对输入距离矩阵的情况有些困惑。

我有一个相似矩阵(DF_c93tom,带有一个名为 DF_sim 的较小测试版本),我将其转换为相异矩阵 DF_dissm = 1 - DF_sim.

我将其用作 scipylinkage 的输入,但文档中说它采用方形或三角形矩阵。我得到了一个不同的簇,用于输入 下三角上三角方阵。为什么是这样?它需要文档中的上三角,但下三角集群看起来非常相似。

我的问题是,为什么所有的集群都不一样?哪个是正确的?

这是linkage的输入距离矩阵的文档

y : ndarray
A condensed or redundant distance matrix. A condensed distance matrix is a flat array containing the upper triangular of the distance matrix.

这是我的代码:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
from scipy.cluster.hierarchy import dendrogram, linkage

%matplotlib inline

#Test Data
DF_sim = DF_c93tom.iloc[:10,:10] #Similarity Matrix
DF_sim.columns = DF_sim.index = range(10)
#print(DF_test)
# 0 1 2 3 4 5 6 7 8 9
# 0 1.000000 0 0.395833 0.083333 0 0 0 0 0 0
# 1 0.000000 1 0.000000 0.000000 0 0 0 0 0 0
# 2 0.395833 0 1.000000 0.883792 0 0 0 0 0 0
# 3 0.083333 0 0.883792 1.000000 0 0 0 0 0 0
# 4 0.000000 0 0.000000 0.000000 1 0 0 0 0 0
# 5 0.000000 0 0.000000 0.000000 0 1 0 0 0 0
# 6 0.000000 0 0.000000 0.000000 0 0 1 0 0 0
# 7 0.000000 0 0.000000 0.000000 0 0 0 1 0 0
# 8 0.000000 0 0.000000 0.000000 0 0 0 0 1 0
# 9 0.000000 0 0.000000 0.000000 0 0 0 0 0 1

#Dissimilarity Matrix
DF_dissm = 1 - DF_sim

#Redundant Matrix
#np.tril(DF_dissm).T == np.triu(DF_dissm)
#True for all values

#Hierarchical Clustering for square and triangle matrices
fig_1 = plt.figure(1)
plt.title("Square")
Z_square = linkage((DF_dissm.values),method="average")
dendrogram(Z_square)

fig_2 = plt.figure(2)
plt.title("Triangle Upper")
Z_triu = linkage(np.triu(DF_dissm.values),method="average")
dendrogram(Z_triu)

fig_3 = plt.figure(3)
plt.title("Triangle Lower")
Z_tril = linkage(np.tril(DF_dissm.values),method="average")
dendrogram(Z_tril)

plt.show()

enter image description here

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com