绘制 jaccard 相似度的热图
Plot heatmap of jaccard similarity
考虑此处所示的数据框。
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')
我能够从另一个线程找到确切的解决方案。
发布该线程的解决方案。归功于 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)
考虑此处所示的数据框。
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')
我能够从另一个线程找到确切的解决方案。
发布该线程的解决方案。归功于 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)