Logo
Section 1 / 9

简介

通过Kaggle端到端案例拆解机器学习项目的关键步骤与业务目标

导入

简介

通过Kaggle端到端案例拆解机器学习项目的关键步骤与业务目标

一个数据集与一个机器学习问题,你应该怎么做?

假设你最近被聘为数据科学家,参与一个项目,并获得了房地产相关数据。你该如何以一种系统化且结构化的方式来处理问题,而不是最终写出一团乱麻的代码?应该遵循哪些步骤?

在本节中,我们将通过一个真实的端到端示例(附带代码)来拆解开展机器学习项目所需的关键步骤。我们将基于一个Kaggle竞赛中的挑战进行实践。

主要步骤概览:

并没有一种适用于所有项目的“黄金法则”要求每位数据科学家都必须遵循。然而,领域内资深专家们推荐的一些良好实践和步骤值得牢记。对于本项目,我们将采用一种结合了多本著作、文章中的建议以及个人经验的综合方法(详情见“学习资料”部分)。

当然,这仅作为指导项目推进的参考框架,你可以根据具体项目需求增删步骤。

steps.png
steps.png

以下是我们将依次完成的主要步骤:

1. 探索性数据分析

  • 理解数据结构
  • 发现并可视化数据,获取洞察
    • 分析数值型特征
    • 寻找数值特征之间的相关性
    • 分析类别型特征

2. 为机器学习算法准备数据

  • 处理缺失值
  • 处理异常值
  • 处理相关特征
  • 处理文本和类别型特征
  • 特征缩放

3. Scikit-Learn中的转换流水线

4. 评估机器学习算法

  • 在训练集上训练并评估多个模型
  • 对比分析各模型及其误差
  • 使用交叉验证进行评估

5. 模型调优

6. 展示解决方案

7. 部署、监控与维护系统

重要前置步骤

在开始编码和随意操作数据之前,如果你面对的是一个真实的问题,你的第一个问题应该是向项目经理、利益相关方或项目负责人明确:业务目标到底是什么?仅仅构建一个机器学习模型并不是最终目的,他们更关心解决方案带来的实际价值。因此,你需要弄清楚公司期望如何使用你的工作成果,以及能从中获得哪些收益。

为什么这是真实项目中至关重要的一步?
因为清晰理解业务目标将决定:

  • 如何定义问题本身
  • 选择何种算法
  • 采用何种性能指标来评估模型
  • 在优化最终模型上投入多少精力
  • 如何呈现你的解决方案

什么是问题定义?
这意味着你需要首先判断自己面对的是监督学习、无监督学习还是强化学习?你被分配的任务是分类、回归,还是其他类型?

机器学习入门

Kaggle 挑战 - 探索性数据分析