机器学习的基本流程

646 阅读3分钟

机器学习是一种从数据生成规则、发现模型,来帮助我们预测、判断、分析、和解决问题的技术。

一个机器学习项目从开始到结束大致分为5步,分别是定义问题收集数据和预处理选择算法和确定模型训练拟合模型评估并优化模型性能

image.png

定义问题

我们先来看第一步,定义问题。在定义问题这个环节中,我们要剖析业务场景,设定清晰的目标,同时还要明确当前问题属于哪一种机器学习类型。如果不搞清楚这些,我们后面就无法选择模型了。

收集数据和预处理

这一步包含了几个小步骤:

  • 收集数据;
  • 数据可视化;
  • 数据清洗;
  • 特征工程;
  • 构建特征集和标签集;
  • 拆分训练集、验证集和测试集。

选择算法并建立模型

在这一步中,我们需要先根据特征和标签之间的关系,选出一个合适的算法,并找到与之对应的合适的算法包,然后通过调用这个算法包来建立模型。

训练模型

训练模型就是用训练集中的特征变量和已知标签,根据当前样本的损失大小来逐渐拟合函数,确定最优的内部参数,最后完成模型。虽然看起来挺复杂,但这些步骤,我们都通过调用fit方法来完成。

fit方法是机器学习的核心环节,里面封装了很多具体的机器学习核心算法,我们只需要把特征训练数据集和标签训练数据集,同时作为参数传进fit方法就行了。

模型的评估和优化

我们刚才说,梯度下降是在用训练集拟合模型时最小化误差,这时候算法调整的是模型的内部参数。而在验证集或者测试集进行模型效果评估的过程中,我们则是通过最小化误差来实现超参数(模型外部参数)的优化。

对此,机器学习工具包(如scikit-learn)中都会提供常用的工具和指标,对验证集和测试集进行评估,进而计算当前的误差。比如R方或者MSE均方误差指标,就可以用于评估回归分析模型的优劣。

不过呢,在开始评估模型之前,我想请你思考一下:在我们这5个实战步骤里面,并没有“使用模型预测浏览量”这个环节,这是为什么呢?其实这个环节已经包含在第5步“模型性能的评估和优化”之中了,并且是我们在第5步中首先要去实现的。

具体来说,在“模型的评估和优化”这一步中,当我们预测完测试集的浏览量后,我们要再拿这个预测结果去和测试集已有的真值去比较,这样才能够求出模型的性能。而这整个过程也同样是一个循环迭代的过程,我把这个循环过程总结成了下面的图,你可以看看: image.png 如果模型的评估分数不理想,我们就需要回到第3步,调整模型的外部参数,重新训练模型。要是得到的结果依旧不理想,那我们就要考虑选择其他算法,创建全新的模型了。如果很不幸,新模型的效果还是不好的话,我们就得回到第2步,看看是不是数据出了问题。

下面是一个典型的机器学习的实战项目:(35条消息) 机器学习实战——房价预测完整案例(建议收藏慢慢品)_机器学习房价预测_Dream丶Killer的博客-CSDN博客