第2章 机器学习一般流程

机器学习一般流程大致分为收集数据、探索数据、预处理数据,对数据处理后,接下来开始训练模型、评估模型,然后优化模型等步骤,具体可参考下图:

 

通过这个图形我们可以比较直观了解机器学习的一般步骤或整体框架,接下来我们就各部分分别加以说明。

1 数据探索

拿到数据以后,一般不会急于创建模型、训练模型,在这之前,需要对数据、对需求或机器学习的目标进行分析,尤其对数据进行一些必要的探索,如了解数据的大致结构、数据量、各特征的统计信息、整个数据质量情况、数据的分布情况等。为了更好体现数据分布情况,数据可视化是一个不错方法。

2 数据预处理

通过对数据探索后,可能发现不少问题:如存在缺失数据、数据不规范、数据分布不均衡、存在奇异数据、有很多非数值数据、存在很多无关或不重要的数据等等。这些问题的存在直接影响数据质量,为此,数据预处理工作应该就是接下来的重点工作,数据预处理是机器学习过程中必不可少的重要步骤,特别是在生产环境中的机器学习,数据往往是原始、为加工和处理过,数据预处理常常占据整个机器学习过程的大部分时间。

数据预处理过程中,一般包括数据清理、数据转换、规范数据、特征选择等等工作。

3 选择模型并进行训练

在模型选择时,一般不存在某种对任何情况都表现很好的算法(这种现象又称为没有免费的午餐)。因此在实际选择时,一般会选用几种不同方法来训练模型,然后比较它们的性能,从中选择最优的这个。当然,在比较不同模型之前,我们需要先确认衡量性能的指标,对分类问题常用的是准确率或ROC曲线,对回归连续性目标值问题一般采用误差来评估。

训练模型前,一般会把数据集分为训练集和测试集,或对训练集再细分为训练集和验证集,从而对模型的泛化能力进行评估。

4 模型验证和使用未知数据进行预测

使用训练数据构建模型后,通常使用测试数据对模型进行测试,测试模型对新数据的

测试。如果我们对模型的测试结果满意,就可以用此模型对以后的进行预测;如果我们测试结果不满意,我们可以优化模型,优化的方法很多,其中网格搜索参数是一种有效方法,当然我们也可以采用手工调节参数等方法。如果出现过拟合,尤其是回归类问题,我们可以考虑正则化方法来降低模型的泛化误差。

机器学习一般流程》有1个想法

  1. Pingback引用通告: Python与人工智能 – 飞谷云人工智能

评论已关闭。