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

使用Altair绘制交互式ROC曲线时遭遇编码错误求助

解决Altair绘制ROC曲线时的fpr字段找不到问题

我一眼就发现问题所在了——Altair对字段名是大小写敏感的!你的DataFrame里的列名是大写的FPR和TPR,但代码里你用了小写的fpr和tpr,这就导致Altair找不到对应的列,才抛出了那个ValueError。

修正后的代码

只需要把代码里的字段名改成和DataFrame一致的大写形式,就能正常运行了:

import altair as alt

base = alt.Chart(df_roc, title='ROC Curve of KNN').properties(width=300)
roc_curve = base.mark_line(point=True).encode(
    alt.X('FPR', title='False Positive Rate (FPR)', sort=None),
    alt.Y('TPR', title='True Positive Rate (TPR) (a.k.a Recall)'),
)
roc_rule = base.mark_line(color='green').encode(
    x='FPR',
    y='FPR',
    size=alt.value(2)
)
(roc_curve + roc_rule).interactive()

额外小技巧

  1. 以后遇到类似字段找不到的问题,可以先打印DataFrame的列名确认拼写和大小写:
    print(df_roc.columns)
    
    这会输出类似Index(['Threshold', 'TPR', 'FPR'], dtype='object')的结果,帮你快速核对字段名是否匹配。
  2. 如果你习惯用小写字段名,也可以先把DataFrame的列统一转成小写,这样原来的代码就能直接用了:
    df_roc.columns = df_roc.columns.str.lower()
    

内容的提问来源于stack exchange,提问作者Jaimee-lee Lincoln

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 16:17:41