

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 第 1 步：执行 EDA 并开发初始模型
<a name="step1"></a>

 在此步骤中，数据科学家执行探索性数据分析 (EDA)，以了解机器学习用例和数据。然后，他们开发机器学习模型（例如分类和回归模型），以解决给定用例中的问题。在模型开发过程中，数据科学家经常对输入和输出做出假设，如数据格式、数据生命周期和中间输出的位置。这些假设应记录在案，以便在第 2 步的单元测试中用于验证。

 尽管此步骤侧重于模型开发，但数据科学家通常需要编写最低数量的辅助代码用于预处理、训练、评估和推理数据。数据科学家应能在开发环境中运行此代码。我们还建议提供可选的运行时参数，以便动态配置此辅助代码，使其无需进行大量手动更改即可在其他环境中运行。这将加快第 2 步和第 3 步中模型和管道之间的集成。例如，用于读取原始数据的代码应封装在函数中，以便能够以一致的方式对数据进行预处理。

 我们建议你从诸如 [scikit-learn](https://scikit-learn.org/)、[XGBoost](https://xgboost.ai/)、[PyTorch](https://pytorch.org/)、[Keras](https://keras.io/)、或 [TensorFlow](https://www.tensorflow.org/) 之类的框架开始开发机器学习模型及其辅助代码。例如，scikit-learn 是一个用 Python 编写的免费机器学习库。它为目标提供了统一的 API 惯例，包括四个主要对象（*估算器*、*预测器*、*转换器*、和*模型*）涵盖轻量级数据转换、支持标签和特征工程以及封装预处理和建模步骤。这些目标有助于避免样板代码激增，并防止验证和测试数据泄漏到训练数据集中。同样，每个机器学习框架都有自己的关键机器学习构件实现，我们建议您在开发机器学习模型时遵守所选框架的 API 惯例。