官术网_书友最值得收藏!

Precision, recall, and F1-score

To assess the quality of the algorithm considering the two types of error, accuracy metric is useless. That's why different metrics were proposed.

Precision and recall are metrics used to evaluate a prediction's quality in information retrieval and binary classification. Precision is a proportion of true positives among all predicted positives. It shows how relevant results are. Recall, also known as sensitivity, is a proportion of true positives among all truly positive samples. For example, if the task is to distinguish cat photos from non-cat photos, precision is a fraction of correctly predicted cats to all predicted cats. Recall is a fraction of predicted cats to the total number of true cats.

If we denote the number of true positive cases as Tp, and number of false positive cases as Fp, then precision P is calculated as:

Recall R is calculated as:

,

Where Fn is a number of false negative cases.

F1 measure is calculated as:

Now the same in Python:

In []: 
import numpy as np 
predictions = tree_model.predict(X_test) 
predictions = np.array(map(lambda x: x == 'rabbosaurus', predictions), dtype='int') 
true_labels = np.array(map(lambda x: x == 'rabbosaurus', y_test), dtype='int') 
from sklearn.metrics import precision_score, recall_score, f1_score 
precision_score(true_labels, predictions) 
Out[]: 
0.87096774193548387 
In []: 
recall_score(true_labels, predictions) 
Out[]: 
0.88815789473684215 
In []: 
f1_score(true_labels, predictions) 
Out[]: 
0.87947882736156346 
主站蜘蛛池模板: 元氏县| 东港市| 金湖县| 二连浩特市| 章丘市| 扬州市| 轮台县| 金川县| 平武县| 潜山县| 永登县| 新蔡县| 绩溪县| 乌鲁木齐县| 江北区| 绩溪县| 三亚市| 寻乌县| 萨迦县| 龙泉市| 尤溪县| 宁波市| 云浮市| 温宿县| 宁陕县| 达日县| 呼和浩特市| 团风县| 彭山县| 上杭县| 恩施市| 宁化县| 鸡东县| 宁河县| 固安县| 三都| 吴川市| 耒阳市| 盱眙县| 宾川县| 平阴县|