机器学习模型评估教程!

本文通过预测员工流失情况的案例,详细介绍了如何评估和比较机器学习模型。模型评估不应仅依赖ROC AUC,而应考虑实际应用场景。文章探讨了在给每个员工贴标签、发送主动警报和有选择地应用模型等不同场景下,如何根据精确度、召回率等指标选择合适的模型。最后强调了模型评估的重要性,指出不应忽视业务场景和道德规范。
摘要由CSDN通过智能技术生成

↑↑↑关注后"星标"Datawhale

每日干货 & 每月组队学习,不错过

 Datawhale干货 

译者:追风者,Datawhale成员

如何在投入生产前评估机器学习模型性能

想象一下,你训练了一个机器学习模型。也许,可以从中选几个候选方案。

你在测试集上运行它,得到了一些质量评估。模型没有过度拟合,特征也有意义。总的来说,在现有的有限数据下,它们的表现尽善尽美。

现在,是时候来决定它们是否好到可以投入生产使用了。如何在标准性的质量评估外,评估和比较你的模型呢?

在本教程中,我们将通过一个案例,详细介绍如何评估你的模型。

案例:预测员工流失情况

我们将使用一个来自Kaggle竞赛的虚构数据集,目标是识别哪些员工可能很快离开公司。(数据集与代码下载,在后台回复日期"210411 "获取)

这个想法听起来很简单:有了预警,你可能会阻止这个人离开。一个有价值的专家会留在公司——无需寻找一个新的员工,再等他们学会工作技巧。

让我们试着提前预测那些有风险的员工吧!

首先,检查训练数据集。它是为方便我们使用而收集的。一个经验丰富的数据科学家会产生怀疑!我们将其视为理所当然,并跳过构建数据集的棘手部分。

我们有1470名员工的数据。

共35个特征,描述的内容包括:

  • 员工背景(教育、婚姻状况等)。

  • 工作细节(部门、工作级别、是否出差等)。

  • 工作历史(在公司工作年限、最后一次晋升日期等)。

  • 薪酬(工资、股票意见等)。

以及其他一些特征。

还有一个二元标签,可以看到谁离开了公司。这正是我们所需要的!我们将问题定义为概率分类任务。模型应该估计每个员工属于目标 "流失 "类的可能性。

在研究模型时,我们通常会将数据集分成训练和测试数据集。我们使用第一个数据集来训练模型,用其余的数据集来检查它在未知数据上的表现。

我们不详细介绍模型训练过程。这就是数据科学的魔力,我们相信你是知道的!

假设我们进行了很多次实验,尝试了不同的模型,调整了相应的超数,在交叉验证中进行了区间评估。

我们最终得到了两个合理的模型,看起来同样不错。

接下来,检查它们在测试集上的性能。这是我们得到的结果。

  • 随机森林模型的ROC AUC值为0. 795分

  • 梯度提升模型的ROC AUC评分为0.803分。

ROC AUC是在概率分类的情况下优化的标准指标。如果你寻找过Kaggle这个用例的众多解决方案,这应该是大多数人的做法。

我们的两个模型看起来都不错。比随机拆分好得多,所以我们肯定可以从数据中得到一些线索。

ROC AUC分数很接近。鉴于这只是一个单点估计(single-point estimate),我们可以认为性能相似。

那么问题来了,两者之间我们应该选哪个呢?

同样的质量,不同的特点

让我们更详细地分析这些模型。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值