正文
数据挖掘的标准流程
CRISP-DM(cross-industry standard process for data mining),
即为"跨行业数据挖掘标准流程"。近年来CRISP-DM 在各种KDD过程模型中占据领先位置,2014年的统计数据表明其采用量达到43%。
通常来说,在各类KDD过程方法论中排在CRISP-DM后面的是SAS SEMMA。SEMMA代表建模的五个步骤,分别是samle,explore,modify,model和assess。SEMMA更偏重于数据挖掘的建模过程,与SAS的EM工具进行整合,其模型管理部署部分则体现在另外的工具套件中。
相比之下,CRISP-DM通用性更强,在大数据背景下的适应性也比较好。在此基础上我们制定了企业级的数据挖掘管理办法,源于CRISP-DM方法论并进行针对性细化,目的是对数据挖掘流程进行规范化管理。
其实CRISP-DM和SEMMA并没有太多的分歧,具体选择哪项方法跟实际人员投入和工具基础有关。CRISP-DM反映了数据挖掘中的自然迭代规律,在实际工作中可以从其中某一点切入,整体呈现螺旋优化的过程,其对应的六个阶段分别如下:
1.
商业理解(business understanding),从商业的角度上面了解项目的要求和最终目的是什么. 并将这些目的与数据挖掘的定义以及结果结合起来。
2.
数据理解(data understanding),开始于数据的收集工作。接下来就是熟悉数据的工作;收集原始数据,对数据进行装载,描绘数据,并且探索数据特征,进行简单的特征统计,检验数据的质量。
3.
数据准备(data preparation),涵盖了从原始粗糙数据中构建最终数据集(将作为建模工具的分析对象)的全部工作。
4.
建模(modeling),各种各样的建模方法将被加以选择和使用,通过建造,评估模型将其参数将被校准为最为理想的值。
5.
评估(evaluation),在这一阶段中已经建立了一个或多个高质量的模型。但在进行最终的模型部署之前,更加彻底的评估模型。回顾在构建模型过程中所执行的每一个步骤,是非常重要的,这样可以确保这些模型是否达到了企业的目标。是否仍然有一些重要的企业问题还没有被充分地加以注意和考虑。在这一阶段结束之时,有关数据挖掘结果的使用应达成一致的决定。
6.
部署(deployment),即将其发现的结果以及过程组织成为可读文本形式.模型的创建并不是项目的最终目的。
数据挖掘的工程化基础
现阶段大数据、人工智能技术日新月异,对于数据科学领域的工作者来说,在学习新技术的同时更要积极探索适合企业发展的应用场景。尤其是在人工智能领域,现阶段业界对于技术和数据的讨论比较多,但在传统行业中的应用场景其实还差的很多。
当然这不是一蹴而就的,其实依赖于企业整体数据应用水平的提升。企业积极尝试应用新技术,在大数据分析挖掘领域进行试点,然后伴随数据挖掘从点到面的工程化铺开,人工智能的应用场景自然就会呈现出来。
通常传统企业在大数据挖掘领域会有所尝试,并在若干点上取得一定的进展,但距离整体铺开应该都还有很大的差距。企业数字化转型即业务从电子化到数字化的过程,对应着大数据应用深度和复杂度的持续提升,其中数据挖掘的工程化水平是一个重要的衡量标准。
数据挖掘在流程机制的建立过程中要充分实现工程化管理,同时注意加强知识技能的共享和传导。模型开发对应的是实验室机制,数据科学家发挥应有的核心作用。模型部署则是工厂化的概念,需要严格的验证测试过程,确保模型在生产环境稳定高效运行。
模型运行结果在业务应用中发挥应有的数据价值,同时业务发展催生新的建模需求。模型管理在整体上发挥监督指导作用,负责数据挖掘全生命周期的管理。
数据挖掘开发部署的十步法
模型管理包括的内容很多,模型从开发到部署的过程中需要一套严格的操作办法,具体可分为十个步骤。这些步骤基本覆盖从模型开发到模型部署的全过程,同样适合于数据挖掘工作的监督管理或第三方评测。
十是一个有趣且比较完整的数字,当然内容可以细化或合并,将其增加或减少直至获得中意的数字。另外,模型都是有生命周期的,满足条件之后就要进行退役或下线,这个过程就不在十个步骤中体现了。
一、
原始数据采集
检查原始数据提取过程(数据仓库、数据集市、外部数据等),注意查看是否按要求进行数据脱敏,以及是否进行数据质量检查。
1)
使用提供的数据提取方法,重新进行数据提取;
2)
抽样检查字段正确性和完整性;
3)
抽样查看字段中是否有敏感信息;
4)
统计数据总量及缺失量。
二、
数据整合逻辑
检查数据处理及整合的基本思路,数据处理方法和流程(数据关联、链接)的正确性和完整性及处理结果的正确性。
1
)检查数据预处理思路和处理方法是否正确;
2)检查数据处理流程(数据关联、链接)和整合过程是否正确且完整;
3)抽样检查数据处理结果,并与原数据进行对比,或设置检查点进行中间步骤的检查;
4)结合模型训练及预测结果,对数据处理逻辑进行完善。
三、
特征工程处理
检查数据特征加工处理结果的正确性和稳定性。
1
)检查特征提取方法是否正确且可以表达业务含义;
2)结合模型训练及测试结果,确认特征提取逻辑的完备性和稳定性。
四、
算法参数选择
根据业务需求分析算法合理性,对比不同参数下的模型运行结果,确定算法及参数选择的合理性。
1
)根据业务需求及数据特点选择合适算法,使用多种算法进行对比,得到适合建模场景的算法;
2)参数选择同理,对比多种参数选择结果,选最佳结果对应的参数。
五、
数据分配策略
检查采用交叉验证方式建立模型过程中的数据集拆分策略及模型结果,对比不同分配策略下模型的效果。
1
)检查数据集是否满足生产环境数据应用需求(如时序要求,数据量级限制等);
2)检查交叉验证过程中数据集训练和测试分配策略是否合理,包括拆分比例和方法;
3)对比多种分配策略,根据训练和预测结果选择恰当的分配比例,使得模型有良好的准确性、稳定性和泛化性。
六、
模型训练效率
检查模型开发过程中所使用的工具情况,及模型开发过程的运行耗时。
1
)检查模型开发平台或工具包在训练过程中的可靠性;
2)检查模型训练和测试耗时是否满足需求;
3
)检查模型训练和测试的自动化支持能力。
七、
模型评价方案
检查模型评价方案及评价指标的合理性。
1)
使用多种评价指标分析模型训练效果,针对不同类型模型选择适当评价指标;
2)建议
分类模型选择AUC、Precision、Recall和F1-score;
回归模型选择Rmse、r2等;
聚类模型选择聚合度等。
八、
模型结果复核
检查模型评价结果的正确性,结果可再现及稳定性;
1
)选择适当的评价指标,由评价指标结果判断模型结果优劣;
2)多次重复建模过程,改变模型开发输入数据,检查结果可再现性及稳定性。