训练一个可以作为机器学习系统一部分的模型,需要深入了解您的数据、业务目标以及诸多其他技术和组织要求。
在本文中,您将编写一个Python脚本,该脚本执行时会训练一个机器学习模型,并将其保存以便后续使用。首先,我们重点强调一下为实际应用训练ML模型时的重要考虑因素。
训练模型前的注意事项
从模型选择到数据集的规模与复杂度,数据从业者需要战略性规划资源并预估需求。在训练模型之前,应充分考虑以下因素:
- 模型选择 – 解决同一问题通常有多种机器学习模型可供选择。最终选型取决于具体应用场景和潜在的约束条件。
- 可解释性 – 如果模型将被部署到受监管行业(如金融、医疗保健)的系统中,则必须确保模型具备可解释性(explainable)。这意味着对于每一次预测,都能清晰说明模型做出该决策的原因。此时,建议选用易于解释的模型,例如 linear regression 或 logistic regression。
- 模型超参数 – 每个模型都包含可调节的超参数。理解这些超参数的含义及其对模型性能的影响至关重要。超参数的选择会显著改变模型的表现。
- 硬件选择 – 大多数数据从业者都知道,模型训练通常可以在 GPU 上加速。但即便在模型训练之前,GPU 也能显著提升数据科学工作流的效率。从数据预处理到探索性分析与可视化,各个环节均可加速,从而帮助您更快迭代并尝试更复杂的计算技术。
- 数据规模 – 当数据量超过单核或单机内存时,必须考虑能够充分利用全部数据的技术。例如,可借助 RAPIDS 等工具将工作流迁移到 GPU,以加速类似 pandas 和 scikit-learn 的操作;或者研究 Dask 这类扩展框架,它能在 CPU 或 GPU 上实现模型训练与数据处理的分布式扩展。
