【Python】算法评估指标(sklearn.metrics)

F1,Precision,Recall sklearn.metrics.f1_score/recall_score/precision_score

  1. 预测值与实际值
# keras训练的model
# .predict() 输出预测的值
pre = model.predict(X_test, batch_size=batch_size)
pre, y_test
'''
array([[0.18804531, 0.3357192 , 0.47623548],
        [0.30215347, 0.36785322, 0.32999334],
        [0.18804531, 0.3357192 , 0.47623548],
        [0.18804531, 0.3357192 , 0.47623548],
        [0.18804531, 0.3357192 , 0.47623548],
        [0.30215347, 0.36785322, 0.32999334],
        [0.30215347, 0.36785322, 0.32999334],
        [0.18804531, 0.3357192 , 0.47623548],
        [0.30215347, 0.36785322, 0.32999334]])
array([[1., 0., 0.],
        [1., 0., 0.],
        [0., 1., 0.],
        [1., 0., 0.],
        [0., 1., 0.],
        [1., 0., 0.],
        [0., 1., 0.],
        [0., 0., 1.],
        [1., 0., 0.],
        [0., 1., 0.]])
'''
# 进行转化
for idx1 in range(len(pre)):
    max_val = max(pre[idx1])
    for idx2 in range(len(pre[idx1])):
        if max_val == pre[idx1][idx2]:
            pre[idx1][idx2] = 1
        else:
            pre[idx1][idx2] = 0
  1. 评估
from sklearn.metrics import f1_score, recall_score, precision_score

_val_f1 = f1_score(y_true=y_test, y_pred=pre, average='weighted')
_val_recall = recall_score(y_true=y_test, y_pred=pre, average='weighted')
_val_precision = precision_score(y_true=y_test, y_pred=pre, average='weighted')
print(" — val_f1: %f — val_precision: %f — val_recall: %f" % (_val_f1, _val_precision, _val_recall))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值