建模高手与初学者的差别在哪里?需要什么样的人来建模?
我们知道,数据挖掘的基本流程包括:(1)业务理解、(2)数据理解、(3)数据准备、(4)数据预处理和建模、(5)模型评估、(6)模型部署应用。其中第 4 步,数据预处理和建模是整个流程的核心部分,其他的步骤都是围绕的该步骤进行的。建模高手和初学者的差距也往往在这里,建出一个模型很容易,快速高效的建出一个好的模型却不容易。 机器学习发展到今天已经有众多优秀前辈给我们贡献了各种各种现成的算法包,例如在 Scikit-learn 里就提供括回归 (Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering) 等方法的算法库,使用者只需要轻松的调包操作就能跑出一个模型。但是要建出高质量的模型,这是远远不够的。数据挖掘算法和数据库运算中用到的排序、分组算法有很大不同,后者是确定的算法,同样的数据进来就会出同样的结果,也没多少参数可调。而数据挖掘算法有许多经验因素,同样的数据进去,设置不同的参数来训练模型,结果很可能是不一样,甚至可能差别很大。以常用的 GBDT 算法为例,需要的参数有十几个,如下图所示,这些参数表示什么含义,如何去设置,如何能快速找到最佳值,当模型效果不好时如何去调参, 这都需要建模师对算法原理和应用场景有深刻的理解才能顺利进行。况且算法也不是只有这一种,在建模时用哪种算法