0

TPR 値と FPR 値、および適合率と再現率を含むテーブルを作成する必要があります。Python で sklearn.metrics パッケージの roc_curve および precision_recall_curve 関数を使用しています。私の問題は、すべての関数がしきい値に対して異なるベクトルを提供することであり、値を単一のテーブルの列としてマージするために必要なのは 1 つだけです。誰でも私を助けることができますか?

前もって感謝します

4

1 に答える 1

0

しきい値には 2 つの大きな違いがあります。

  1. 注文は異なります。roc_curveしきい値は降順にあり、precision_recall_curveしきい値は昇順になっています。

  2. 数が違います。、roc_curve、数のn_thresholds = len(np.unique(probas_pred))中に。後者の場合、最小のしきい値は含まれません。同時に、最後の適合率と再現率の値はそれぞれ 1. と 0. であり、対応するしきい値はありません。したがって、tpr、fpr、precision、recall の項目数は同じです。precision_recall_curven_thresholds = len(np.unique(probas_pred)) - 1roc_curve

質問に戻りますが、tpr、fpr、precision、recall と対応するしきい値を含む表を作成する方法を教えてください。手順は次のとおりです。

  1. 最後の適合率と再現率の値を破棄する
  2. 精度と再現率の値を逆にする
  3. のしきい値から最も低いしきい値に対応する適合率と再現率の値を計算します。roc_curve
  4. すべての値を同じテーブルに入れる
于 2015-05-06T18:07:32.067 に答える