F1 - Score\Precision\Recall The Single number evaluation metric(单一评估标准)

本文介绍了衡量分类问题准确度的关键指标,包括Precision、Recall及F1Score,详细解析了这些指标的计算方式及其在多分类器场景下的应用,强调了F1Score作为综合评估指标的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下指标可以作为衡量分类问题的准确度的标准

在这里插入图片描述

Precision

Precision(%)=True positivenumber of predicted positive∗100=True positiveTrue positive+False Positive∗100\frac{True \ positive}{number\ of \ predicted \ positive}*100=\frac{True \ positive}{True \ positive + False \ Positive}*100number of predicted positiveTrue positive100=True positive+False PositiveTrue positive100

Recall

Recall(%)=True positivenumber of actually positive∗100=True positiveTrue positive+False Negative∗100\frac{True \ positive}{number\ of \ actually \ positive}*100=\frac{True \ positive}{True \ positive + False \ Negative}*100number of actually positiveTrue positive100=True positive+False NegativeTrue positive100

说明

当你有多个Classifiers时,每一个Classifier的Precision和Recall可能都不一样,而且Precision和Recall之间是存在取舍关系的。因此以Precision和Recall作为衡量指标是不太可行的,你无法一眼看出哪个Classifier表现得更好。

直观而言,你会想到以(Precision+Recall)/2(Precision+Recall)/2(Precision+Recall)/2作为一个单一的度量指标,但直接求平均数并不太科学,我们有更好的求平均的方法F1 Score,称作调和平均(Harmonic)。

F1 Score

F1Score=2PR1P+1RF_1Score=\frac{2PR}{\frac{1}{P}+\frac{1}{R}}F1Score=P1+R12PR

你可以简单理解F1 Score为P和R的“平均”。

百度百科里有全面的解释:
在这里插入图片描述

使用Dev Set和单一的评估标准能够加速你学习的迭代过程。

1. Use the credictcard-reduced.csv dataset ([Data description](https://www.kaggle.com/mlg-ulb/creditcardfraud)) and build Five classification models. Please plot confusion matrix, and evaluate your model performance using accuracy, precision, recall, F-score (70 points). A list of classification models can be found [here](https://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html) 我现在要完成以上作业,已输入下面代码from sklearn.model_selection import train_test_split # this function provides a single "Hold-Out" Validation. import matplotlib.pyplot as plt from sklearn.metrics import accuracy_score #similar to MAE, we use accuracy_score evaluation metric. import pandas as pd import numpy as np data = pd.read_csv('Credit_approval.csv',header='infer') data.head(5)Y = data['Approved'] #this is our prediction target X = data.drop(['Approved'],axis=1) X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.4, random_state=1) rom sklearn.tree import DecisionTreeClassifier clf = DecisionTreeClassifier(max_depth=2) # number estimators is the key parameter clf = clf.fit(X_train, Y_train) Y_predTrain = clf.predict(X_train) Y_predTest = clf.predict(X_test) print('Training accuracy is %f' % accuracy_score(Y_train, Y_predTrain)) print('Validation accuracy is %f' %accuracy_score(Y_test, Y_predTest))from sklearn.ensemble import RandomForestClassifier np.random.seed(1) #because the model has random sampling, a random seed can ensure repeated results. clf = RandomForestClassifier(max_depth=2,n_estimators=500) clf = clf.fit(X_train, Y_train) Y_predTrain = clf.predict(X_train) Y_predTest = clf.predict(X_test) print('Training accuracy is %f' % accuracy_score(Y_train, Y_predTrain)) print('Validation accuracy is %f' %accuracy_score(Y_test, Y_predTest)) 接下来怎么办
最新发布
03-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值