You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jupyter Notebook生成各Expression的Spearman相关性热力图?

解决方法

要实现按Expression分组计算PR与Metrics的Spearman相关性,并生成带指定轴标题的热力图,可按以下步骤操作:

1. 导入依赖库

需要用到pandas处理数据,seaborn和matplotlib绘制热力图:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

2. 分组计算相关性

按Expression分组,计算每组内PR与Metrics的Spearman相关系数:

# 分组计算每个Expression的PR与Metrics的Spearman相关
corr_results = df.groupby('Expression').apply(
    lambda group: group['PR'].corr(group['Metrics'], method='spearman')
).reset_index(name='Spearman_Correlation')

3. 生成热力图

将结果转换为适合热力图的格式,绘制并设置轴标题:

# 设置画布大小
plt.figure(figsize=(10, 7))

# 绘制热力图,annot参数显示相关系数数值,cmap设置配色
heatmap = sns.heatmap(
    corr_results.set_index('Expression'),
    annot=True,
    cmap='coolwarm',
    vmin=-1,
    vmax=1,
    fmt='.2f'
)

# 设置轴标题和图表标题
heatmap.set_xlabel('Metrics')
heatmap.set_ylabel('PR')
plt.title('Spearman Correlation between PR & Metrics (by Expression)')

# 显示图表
plt.show()

说明

  • 分组计算时,apply函数会遍历每个Expression分组,单独计算组内PR与Metrics的Spearman相关系数。
  • 热力图的纵轴为Expression类别,横轴设为Metrics,纵轴标签设为PR,完全匹配需求;单元格内的数值为对应分组的相关系数,配色范围设置为[-1,1](符合相关性系数的取值范围)。

内容的提问来源于stack exchange,提问作者Jun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 23:50:27