文章参考:https://scikit-learn.org/stable/modules/model_evaluation.html#clustering-metrics
1、分类指标 Classification Metrics
sklearn.metrics 模块实现了一些损失、评分和实用函数衡量分类的性能。一些指标可能需要对正类、置信度值、或二进制决策值的概率估计。大部分实现都允许每个样本通过sample_weight参数为总评分提供加权贡献。
(1)classification_report 函数:显示主要分类指标的文本报告,在报告中显示每个类别的精确度、召回率、F1值等信息。
sklearn.metrics.classfication_report(y_true,y_pred,labels=None.target_names=None,sample_weight=None,digits=2,output_dict=False)
- y_true:真实目标值
- y_pred:估计器预测目标值
- labels :包含的标签索引的可选列表
- target_names:目标类别名称
- digits:输出浮点值的位数
- return : 每个类别精确率和召回率、F1值
from sklearn.metrics import classification_report
y_true = [0, 1, 2, 2, 2]
y_pred = [0, 0, 2, 2, 1]
target_names = ['class 0', 'class 1', 'class 2']
print(classification_report(y_true, y_pred, target_names=target_names))
precision recall f1-score support
class 0 0.50 1.00 0.67 1
class 1 0.00 0.00 0.00 1
class 2 1.00 0.67 0.80 3
accuracy 0.60 5
macro avg 0.50 0.56 0.49 5
weighted avg 0.70 0.60 0.61 5
其中列表左边的一列为分类的标签名,右边support列为每个标签的出现次数.avg / total行为各列的均值(support列为总和).
precision recall f1-score三列分别为各个类别的精确度/召回率及 F1值.
(2)sklearn.metrics
.f1_score
sklearn.metrics.f1_score
(y_true, y_pred, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')