机器学习重要评价指标

为了里哦阿姐模型的泛化能力,我们需要用某个指标来衡量,有了一个指标就可以对比不同的模型,从而知道那个模型相对较好,哪个相对较差,同通过这个指标进一步调参逐步优化我们的模型

1.准确率

准确率是预测正确的结果占总样本的百分比。

准确率 = (TP+TN)/(TP+TN+FP+FN)

由于样本不平衡的问题,导致了高准确率结果含有很大的水分,即如果样本不平衡,准确率就会失效。

2.精准率(precision)

精准率也叫查准率,是针对预测结果而言,是在所有被预测为证的样本中实际为正样本的概率

精准率 = TP / (TP+FP)

3.召回率(Recall)

也叫查全率,他是针对原样本而言,是在实际为正的样本中被预测为正样本的概率。

召回率 = TP /(TP+FN)

召回率越高,代表世界坏用户被预测出来的概率越高,哪网贷违约率为例,相对好用户,我们更关心坏用户,如果过多的将坏用户当成好用户,就会损失严重。

4.F1分数

F1分数考虑了查准率和查全率,让两者同时达到最高,取一个平衡

F1 = 2×查准率×查全率 / (查准率 + 查全率)

逻辑回归输出是一个0到1之间的概率数字,如果需要判断用户好坏,就必须定义一个阈值,即阈值为0.5的情况下,可以得到相应的查准率和查全率,若要找到一个最合适的阈值满足要求,我们就需要便利0到1之间的所有阈值,而每一个阈值下都对应着一对查准率和查全率,从而得到我们这条曲线。

 

### 机器学习模型评估方法及其常用指标 #### 准确率 (Accuracy) 准确率是指预测正确的样本数占总样本数的比例。这一指标适用于类别分布较为均衡的数据集,在多分类问题中也具有广泛的应用价值[^1]。 ```python from sklearn.metrics import accuracy_score y_true = [0, 1, 1, 0, 1] y_pred = [0, 1, 0, 0, 1] accuracy = accuracy_score(y_true, y_pred) print(f'Accuracy: {accuracy}') ``` 然而,当面对不平衡数据集时,高准确率可能掩盖少数类别的误分类情况,因此需要结合其他指标综合考量[^2]。 #### 召回率 (Recall) 召回率反映了实际为正类的样本中有多少被正确识别出来。对于某些应用场合而言,比如医疗诊断中的疾病检测,提高召回率意味着减少漏诊的可能性,这往往比追求整体准确性更加重要。 ```python from sklearn.metrics import recall_score recall = recall_score(y_true, y_pred) print(f'Recall: {recall}') ``` #### F1分数 (F1 Score) 为了平衡精确度(Precision)与召回率之间的关系,引入了F1分数作为两者调和平均的结果。它提供了一个单一数值来表示二者的折衷程度,特别适合用于处理类别不均等问题的情形下评估模型表现。 ```python from sklearn.metrics import f1_score f1 = f1_score(y_true, y_pred) print(f'F1 Score: {f1}') ``` #### AUC-ROC 曲线 (Area Under the Curve - Receiver Operating Characteristic curve) AUC-ROC曲线通过绘制不同阈值下的真正率(True Positive Rate,TPR) 对假正率(False Positive Rate,FPR),直观展示了分类器区分正负两类的能力。该曲线下面积越大,则说明模型越好;理想情况下其值接近于1.0,表明几乎可以完美地区分两个类别。 ```python import numpy as np from sklearn.metrics import roc_auc_score roc_auc = roc_auc_score(y_true, np.array([0.1, 0.4, 0.35, 0.8, 0.7])) print(f'AUC-ROC: {roc_auc}') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值