Я пытаюсь использовать следующие данные df_roc
для построения кривой RO C с использованием altair:
Threshold TPR FPR
0 0.1 1.000000 0.941176
1 0.2 1.000000 0.705882
2 0.3 0.923077 0.588235
3 0.4 0.846154 0.470588
4 0.5 0.692308 0.352941
5 0.6 0.615385 0.235294
6 0.7 0.461538 0.117647
7 0.8 0.307692 0.058824
8 0.9 0.076923 0.000000
Это код, который я пытаюсь использовать, чтобы сделать интерактивный сюжет:
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()
И это ошибка, которую я получаю:
ValueError: fpr encoding field is specified without a type; the type cannot be inferred because it does not match any column in the data.
alt.Chart(...)
Я попытался немного погуглить и попробовать какую-то информацию об этом, но не было не особо много. Кто-нибудь сталкивался с решением этой проблемы или помогал мне найти способ ее обойти?
Я бы действительно предпочел использовать для этого altair, а не другие пакеты для построения графиков.
Можно кто-нибудь мне поможет?