擅长:python、mysql、java
<p>你并不真的需要sklearn来计算精度/召回/f1分数。你可以很容易地通过公式来表达它们:</p>
<p><a href="https://i.stack.imgur.com/U0hjG.png" rel="noreferrer"><img src="https://i.stack.imgur.com/U0hjG.png" alt="enter image description here"/></a></p>
<p>现在,如果将<code>actual</code>和<code>predicted</code>值作为0/1的向量,则可以使用<a href="https://www.tensorflow.org/api_docs/python/tf/count_nonzero" rel="noreferrer">tf.count_nonzero</a>计算TP、TN、FP、FN:</p>
<pre><code>TP = tf.count_nonzero(predicted * actual)
TN = tf.count_nonzero((predicted - 1) * (actual - 1))
FP = tf.count_nonzero(predicted * (actual - 1))
FN = tf.count_nonzero((predicted - 1) * actual)
</code></pre>
<p>现在,您的指标很容易计算:</p>
<pre><code>precision = TP / (TP + FP)
recall = TP / (TP + FN)
f1 = 2 * precision * recall / (precision + recall)
</code></pre>