狭义的机器学习往往强调模型的训练,但实际上机器学习是一个系统工程,是一个从数据到模型,再从模型到应用的全过程。图1-4所示的是一个经典的机器学习工作流。数据科学家首先需要对业务问题进行定义,然后采集相关的数据,从数据和业务背景两点出发来对数据进行预处理。在预处理的过程中,我们需要对不合格的数据进行剔除或修复(数据清洗),同时可以根据业务需要构造新的特征或者剔除无用特征(特征工程)。在预处理之后,我们会得到结构化的数据集,在这个基础上我们可以进行模型的训练。通常我们会把数据划分为训练集和验证集,在训练集中进行模型的训练,然后在验证集中进行验证。这个过程往往会尝试多个不同的算法,同时对于特定的算法会不断进行参数的调整,经过反复的迭代得到最优模型。最后,获得的最优模型会放在实际的场景中进行验证,然后再部署到一线业务中。在本书后面的内容中,我们将会对这个基本流程进行更为深入的介绍,通过实际的应用案例进行演示,并附上相关的R语言实现代码。
图1—4 机器学习工作流