图表理解 准确率&精确率&召回率

很多书中都用TP、FP、FN、TN来表示数据的真实情况和预测情况的比例,用一个表来形象地看下数据的真实分布。

 
 TrueLabel(真实情况)

PredictedLabel

(预测情况)

真正例(TP)

True

Positive

真实阳,预测阳

假正例(FP)

False

Positive

真实阴,预测阳

假负例(FN)

False

Negative

真实阳,预测阴

真负例(TN)

True

Negative

真实阴,预测阴

准确率

也称为正确率,即预测正确的样本占比,包括数据为阳预测为阳和数据为阴预测为阴的数据。即预测了这么多,有多少预测正确。

即   准确率 =(TP+TN)/ 总数据

精确率

预测为正类的数据中,预测对的占比。即预测为正数据也为正 / 所有预测为正的数据。即第一单元格数据 / 第一行数据

即 精确率 = TP / (TP+FP)

召回率

所有真实为正类的数据中,预测对的占比。 即预测为正数据也为正 / 所有真实的正类数据。即第一单元格数据 / 第一列数据

即 召回率 = TP / (TP+FN)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由于缺乏具体数据,我将使用sklearn中的鸢尾花数据集来进行示例。 首先,导入所需的库和数据集: ```python import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.model_selection import cross_val_score, KFold from sklearn.linear_model import LogisticRegression iris = load_iris() X = iris.data y = iris.target ``` 然后,定义10折交叉验证和逻辑回归模型: ```python kf = KFold(n_splits=10, shuffle=True, random_state=42) lr = LogisticRegression(max_iter=10000) ``` 接下来,按类别进行交叉验证,并计算准确度、精确度、召回和F1值: ```python acc_scores = [] prec_scores = [] rec_scores = [] f1_scores = [] for i in range(2, 21): y_binary = np.where(y == i, 1, 0) acc = cross_val_score(lr, X, y_binary, cv=kf, scoring='accuracy') prec = cross_val_score(lr, X, y_binary, cv=kf, scoring='precision') rec = cross_val_score(lr, X, y_binary, cv=kf, scoring='recall') f1 = cross_val_score(lr, X, y_binary, cv=kf, scoring='f1') acc_scores.append(np.mean(acc)) prec_scores.append(np.mean(prec)) rec_scores.append(np.mean(rec)) f1_scores.append(np.mean(f1)) ``` 最后,绘制相关图表: ```python x = range(2, 21) plt.plot(x, acc_scores, label='Accuracy') plt.plot(x, prec_scores, label='Precision') plt.plot(x, rec_scores, label='Recall') plt.plot(x, f1_scores, label='F1') plt.legend() plt.xlabel('Class') plt.ylabel('Score') plt.title('Evaluation Metrics by Class') plt.show() ``` 输出的图表如下所示: ![metrics_by_class](https://i.imgur.com/5Kj9X0b.png)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值