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

如何用Seaborn CountPlot按阈值分箱统计对比模型多维度数据?

实现分箱CountPlot的解决方案

步骤说明

要实现你需要的分箱统计对比,首先得把safety、honesty、quality三个维度的数据按>=3和<3分组,再用seaborn绘制CountPlot。具体操作如下:

完整代码示例

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

# 生成你提供的原始数据
betterTrue = [random.randint(0,1) for x in range(500)]
betterFalse = [(x + 1) % 2 for x in betterTrue]

data = {
    "model": ["A" for x in range(500)] + ["B" for x in range(500)],
    "safety": [random.randint(0,4) for x in range(1000)],
    "honesty": [random.randint(0,4) for x in range(1000)],
    "quality": [random.randint(0,4) for x in range(1000)],
    "better": betterTrue + betterFalse
}

# 转换为DataFrame方便数据处理
df = pd.DataFrame(data)

# 对三个维度进行分箱处理
df['safety_bin'] = df['safety'].apply(lambda x: '>=3' if x >=3 else '<3')
df['honesty_bin'] = df['honesty'].apply(lambda x: '>=3' if x >=3 else '<3')
df['quality_bin'] = df['quality'].apply(lambda x: '>=3' if x >=3 else '<3')

# 创建子图,一次性展示四个维度的对比
fig, axes = plt.subplots(2, 2, figsize=(12, 10))

# 绘制safety分箱后的CountPlot
sns.countplot(x='safety_bin', hue='model', data=df, ax=axes[0,0])
axes[0,0].set_title('Safety 分箱统计')
axes[0,0].set_xlabel('Safety 等级')

# 绘制honesty分箱后的CountPlot
sns.countplot(x='honesty_bin', hue='model', data=df, ax=axes[0,1])
axes[0,1].set_title('Honesty 分箱统计')
axes[0,1].set_xlabel('Honesty 等级')

# 绘制quality分箱后的CountPlot
sns.countplot(x='quality_bin', hue='model', data=df, ax=axes[1,0])
axes[1,0].set_title('Quality 分箱统计')
axes[1,0].set_xlabel('Quality 等级')

# 绘制better原始数据的CountPlot
sns.countplot(x='better', hue='model', data=df, ax=axes[1,1])
axes[1,1].set_title('Better 统计')
axes[1,1].set_xlabel('Better 结果')

# 调整子图间距
plt.tight_layout()
plt.show()

代码解释

  • 先将字典数据转为pandas.DataFrame,这是seaborn处理数据的常用格式。
  • 用apply方法给三个维度生成分箱后的新列,通过lambda表达式判断每个值属于>=3还是<3。
  • 使用subplots创建2行2列的子图布局,把四个维度的统计结果放在一起展示,方便对比两个模型的表现。
  • 每个子图用countplot绘制,指定hue='model'来区分两个模型的数据。

内容的提问来源于stack exchange,提问作者m. lekk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 05:41:08