我们知道,数据挖掘的基本流程包括:(1)业务理解、(2)数据理解、(3)数据准备、(4)数据预处理和建模、(5)模型评估、(6)模型部署应用。其中第 4 步,数据预处理和建模是整个流程的核心部分,其他的步骤都是围绕的该步骤进行的。建模高手和初学者的差距也往往在这里,建出一个模型很容易,快速高效的建出一个好的模型却不容易。
机器学习发展到今天已经有众多优秀前辈给我们贡献了各种各种现成的算法包,例如在 Scikit-learn 里就提供括回归 (Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering) 等方法的算法库,使用者只需要轻松的调包操作就能跑出一个模型。但是要建出高质量的模型,这是远远不够的。数据挖掘算法和数据库运算中用到的排序、分组算法有很大不同,后者是确定的算法,同样的数据进来就会出同样的结果,也没多少参数可调。而数据挖掘算法有许多经验因素,同样的数据进去,设置不同的参数来训练模型,结果很可能是不一样,甚至可能差别很大。以常用的 GBDT 算法为例,需要的参数有十几个,如下图所示,这些参数表示什么含义,如何去设置,如何能快速找到最佳值,当模型效果不好时如何去调参, 这都需要建模师对算法原理和应用场景有深刻的理解才能顺利进行。况且算法也不是只有这一种,在建模时用哪种算法,是用一种还是多种组合用,都是建模师要需要考虑的。
![]()
比这更复杂的是,在建模之前还要做大量的预处理工作,例如对于非标准正态分布的变量,应该如何处理;对于数据中的噪音应该如何降噪,对于高基数变量如何处理等等。因此,建模高手和初学者的区别就在于建模高手往往具备深厚的统计学理论和丰富的建模调参经验,对数据分布,数据预处理,算法运行原理等有着深刻的理解,而初学者往往只会机械的调包计算,不懂得背后的理论知识,不清楚如何数据探索和分析,不懂得如何处理数据使数据更适合拿来建模,往往只是照猫画虎,知其然而不止其所以然。就好像没有学过建筑学的人拿着一堆原材料去盖大楼,盖出的楼能不能住人、会不会倒,经常要看运气了。
不过,作为初学者也不必担心,近年来兴起的自动建模技术就可以有效的帮助我们。自动建模技术是将统计学家和数学家的数据处理经验和理论融入到软件中,使得软件能够智能的去完成数据预处理,建模型,选参数,做评估等一系列的工作。对于使用者来讲只需要将数据丢进自动建模工具,并且配置好目标,工具就能够自动建出优质模型。即使是没有统计学背景,不了解算法的初学者,或者普通的 IT 程序员都可以通过自动建模技术来做数据挖掘业务,连简单的 Python 都不用再学就可以享受 AI 技术带来的福利。
对进一步数据挖掘和 AI 技术感兴趣的同学还可以搜索“乾学院”,上面有面向小白的零基础“数据挖掘”免费课程,或者直接点下面的链接也可以:
http://www.raqsoft.com.cn/wx/course-data-mining.html
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。