0
私は訓練したtf.contrib.learn.LinearClassifier
のROC曲線をプロットしたいと思います。ROC曲線tf.contrib.learn.LinearClassifier
ROC曲線は、識別閾値が変化するとTPRとFPRの異なる値を示すが、識別閾値は常に0.5である。
LinearClassifier
に変更するか、TPRとFPRを異なるしきい値で記録するかはわかりません。
私は訓練したtf.contrib.learn.LinearClassifier
のROC曲線をプロットしたいと思います。ROC曲線tf.contrib.learn.LinearClassifier
ROC曲線は、識別閾値が変化するとTPRとFPRの異なる値を示すが、識別閾値は常に0.5である。
LinearClassifier
に変更するか、TPRとFPRを異なるしきい値で記録するかはわかりません。
私は最終的にそれを行う方法を考え出しました。次にように私のメトリックを定義
def recall_fn(predictions=None, labels=None, weights=None):
recall = tf.metrics.recall_at_thresholds(labels, predictions[:,1],[0.2,0.5,0.7])
return recall
:
with tf.variable_scope("metrics"):
validation_metrics = {
"recall":
tf.contrib.learn.MetricSpec(
metric_fn=recall_fn,
prediction_key=tf.contrib.learn.PredictionKey.PROBABILITIES)
}
、最終的に評価するメソッド呼び出しでそれらを使用します。正確に
results = m.evaluate(input_fn=lambda: chk_batch_input_fn(test_stream),
steps=100, metrics=validation_metrics)
ないROC私は次のようにカスタムメトリックを追加する必要が曲線ですが、私が欲しかったフィードバック/指標です。
'predict_proba'を使って自分自身でスレッシュホールドを行います。 –