绘制jaccard相似性热图



考虑如下所示的数据帧。

import pandas as pd
data= [
{'col1':'101', 'col2': '101', 'col3':'1321'},
{'col1':'99', 'col2': '99', 'col3':'101'},
{'col1':'21', 'col2': '23', 'col3':'99'},
{'col1':'47', 'col2': '67', 'col3':'47'},
{'col1':'1321', 'col2': '47', 'col3':'23'}
]
df = pd.DataFrame(data)

如何计算每列之间的Jaccard相似性,然后将其绘制在热图上?

这样做似乎不对。

df111 = df.to_numpy()
res = 1 - pdist(df111, 'jaccard')

我能够从另一个线程中找到确切的解决方案。如何从pandas数据帧计算jaccard相似性

从该线程发布解决方案。信用归于ayhan

from sklearn.metrics.pairwise import pairwise_distances
import seaborn as sns
jac_sim = 1 - pairwise_distances(plot_df1.T, metric = "hamming")
jac_sim = pd.DataFrame(jac_sim, index=plot_df1.columns, columns=plot_df1.columns)
sns.heatmap(jac_sim)

最新更新