2017-12-11 22 views
-1

他の人が作成したスパムとハムとして分類する迷惑メール予測が表示されています。Tensorflowで精度の代わりに精度と再呼び出しを得るには

[ソースコード] https://github.com/nfmcclure/tensorflow_cookbook/blob/master/09_Recurrent_Neural_Networks/02_Implementing_RNN_for_Spam_Prediction/02_implementing_rnn.py

プログラムは、次の値を生成します。 (損失、精度)このコードで

Veiw Result Screenshot

、結果は私は正確には意味を持たないと考え、

唯一の損失、精度です。 Precision、Recallの値が必要です(F1メジャーの場合)

しかし、コード解析が正しく機能していないため、 私は精度とリコールを知っています。 しかし、私はこのコードでPrecisionとRecallの計算方法(コード埋め込み)を知りません。

+0

私はあなたの質問が理解できません。ご連絡ください。 –

+0

申し訳ありません。私は英語が上手ではないからです。ご意見ありがとうございます。私は訂正をしましたが、質問が理解できるかどうかわかりません。結論として、私が望むのは、PrecisionまたはRecallを出力できるコードです。 –

+1

あなたの編集は良いです。 -1が削除されました。 –

答えて

4

私は自分で成功しました。ここ

はコードです:私はgithubのに混同行列のオープンソースを見て、あなたに@Mistobaanに感謝

actuals = tf.cast(y_output, tf.int64) 
predictions = tf.argmax(logits_out, 1) 

ones_like_actuals = tf.ones_like(actuals) 
zeros_like_actuals = tf.zeros_like(actuals) 
ones_like_predictions = tf.ones_like(predictions) 
zeros_like_predictions = tf.zeros_like(predictions) 

tp_op = tf.reduce_sum(
    tf.cast(
     tf.logical_and(
     tf.equal(actuals, ones_like_actuals), 
     tf.equal(predictions, ones_like_predictions) 
    ), 
     "float" 
    ) 
) 

tn_op = tf.reduce_sum(
    tf.cast(
     tf.logical_and(
     tf.equal(actuals, zeros_like_actuals), 
     tf.equal(predictions, zeros_like_predictions) 
    ), 
     "float" 
    ) 
) 

fp_op = tf.reduce_sum(
    tf.cast(
     tf.logical_and(
     tf.equal(actuals, zeros_like_actuals), 
     tf.equal(predictions, ones_like_predictions) 
    ), 
     "float" 
    ) 
) 

fn_op = tf.reduce_sum(
    tf.cast(
     tf.logical_and(
     tf.equal(actuals, ones_like_actuals), 
     tf.equal(predictions, zeros_like_predictions) 
    ), 
     "float" 
    ) 
) 

!! https://gist.github.com/Mistobaan/337222ac3acbfc00bdac

+0

あなたの最初の質問に答えて、ちょうどリンクの代わりにコードを投稿するのは良い仕事です。あなたも自分の答えを受け入れるべきです(これには何も間違っていません - 反対に、[それは推奨されます](https://stackoverflow.com/help/self-answer) – desertnaut

関連する問題