第一步:选择模型或者自定义模型
这第一步需要我们基于业务问题,来决定我们需要选择哪种模型,目前市场中有很多模型可以供我们选择,
比如,如果要预测产品销量,则可以选择数值预测模型(比如回归模型,时序预测……);如果要预测员工是否离职,则可以选择分类模型(比如决策树、神经网络……)。
如果没有现成的模型可用,就需要我们自定义模型了,自定义模型不是一件容易的事情,需要非常nb的数学基础和科研精神,当前绝大多数人所谓的建模,都只是选择一个已有的数学模型来工作而已。
一般情况,模型都有一个固定的模样和形式。但是,有些模型包含的范围较广,比如回归模型,其实不是某一个特定的模型,而是一类模型。我们知道,所谓的回归模型,其实就是自变量和因变量的一个函数关系式而已,如下表所示。因此,回归模型的选择,也就有了无限的可能性,回归模型的样子(或叫方程)可以是你能够想到的任何形式的回归方程。所以,从某种意义上看,你自己想出一个很少人见过的回归方程,也可以勉强算是自定义模型了哈!
这么多可选模型,到底选择哪个好呢?
这里我告诉你,模型的好坏是不能单独出来评论的,对不同的需求场景模型的选择也不同。
第二步 : 训练模型
模型选择好以后,就到训练模型这一步,
我们知道,之所以叫模型,这个模型大致的形状或模式是固定的,但模型中还会有一些不确定的东东在里面,这样模型才会有通用性,如果模型中所有的东西都固定死了,模型的通用性就没有了。模型中可以适当变化的部分,一般叫做参数,就比如前面回归模型中的α、β等参数。
所谓训练模型,其实就是要基于真实的业务数据来确定最合适的模型参数而已。模型训练好了,也就是意味着找到了最合适的参数。一旦找到最优参数,模型就基本可用了。
如何找到一个非常好的参数呢?不用担心,会有分析工具来帮我们来查找。
第三步:评估模型
所谓评估模型,就是决定一下模型的质量,判断模型是否有用。
前面说过,模型的好坏是不能够单独评估的,一个模型的好坏是需要放在特定的业务场景下来评估的,也就是基于特定的数据集下才能知道哪个模型好与坏。
既然要评估一个模型的好坏,就应该有一些评价指标。比如,数值预测模型中,评价模型质量的常用指标有:平均误差率、判定系数R2,等等;评估分类预测模型质量的常用指标(如下图所示)有:正确率、查全率、查准率、ROC曲线和AUC值等等。
对于分类预测模型,一般要求正确率和查全率等越大越好,最好都接近100%,表示模型质量好,无误判。
第四步:应用模型
如果评估模型质量在可接受的范围内,而且没有出现过拟合,于是就可以开始应用模型了。
这一步,就需要将可用的模型开发出来,并部署在数据分析系统中,然后可以形成数据分析的模板和可视化的分析结果,以便实现自动化的数据分析报告。
应用模型,就是将模型应用于真实的业务场景。构建模型的目的,就是要用于解决工作中的业务问题的,比如预测客户行为,比如划分客户群,等等。
当然,应用模型过程中,还需要收集业务预测结果与真实的业务结果,以检验模型在真实的业务场景中的效果,同时用于后续模型的优化。
第五步:优化模型
优化模型,一般发生在两种情况下:
一是在评估模型中,如果发现模型欠拟合,或者过拟合,说明这个模型待优化。
二是在真实应用场景中,定期进行优化,或者当发现模型在真实的业务场景中效果不好时,也要启动优化。
如果在评估模型时,发现模型欠拟合(即效果不佳)或者过拟合,则模型不可用,需要优化模型。所谓的模型优化,可以有以下几种情况:
1)重新选择一个新的模型;
2)模型中增加新的考虑因素;
3)尝试调整模型中的阈值到最优;
4)尝试对原始数据进行更多的预处理,比如派生新变量。
不同的模型,其模型优化的具体做法也不一样。比如回归模型的优化,你可能要考虑异常数据对模型的影响,也要进行非线性和共线性的检验;再比如说分类模型的优化,主要是一些阈值的调整,以实现精准性与通用性的均衡。
当然,也可以采用元算法来优化模型,就是通过训练多个弱模型,来构建一个强模型(即三个臭皮匠,顶上一个诸葛亮)来实现模型的最佳效果。
实际上,模型优化不仅仅包含了对模型本身的优化,还包含了对原始数据的处理优化,如果数据能够得到有效的预处理,可以在某种程度上降低对模型的要求。所以,当你发现你尝试的所有模型效果都不太好的时候,别忘记了,这有可能是你的数据集没有得到有效的预处理,没有找到合适的关键因素(自变量)。
不可能有一个模型适用于所有业务场景,也不太可能有一个固有的模型就适用于你的业务场景。好的模型都是需要根据需求进行优化的!
希望能帮助到各位程序员们!!!