您的位置:首页 > 其它

数据挖掘方法论与工程化思考

2017-08-16 08:58 274 查看


数据挖掘方法论与工程化思考



金融科技实战
百家号 08-11 23:41

数据挖掘标准流程

CRISP-DM (cross-industry standard process for data mining), 即为"跨行业数据挖掘标准流程"。此KDD过程模型于1999年欧盟机构联合起草。通过近几年的发展,CRISP-DM 模型在各种KDD过程模型中占据领先位置,2014年统计表明,采用量达到43%。

通常来说,在各类相关方法论调研中,排在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;

3) 回归模型选择Rmse、r2等;

4) 聚类模型选择聚合度等。

八、模型结果检查

检查模型评价结果的正确性,结果可再现及稳定性;

1)选择适当的评价指标,由评价指标结果判断模型结果优劣;2)多次重复建模过程,检查结果可再现性及稳定性。

九、流程化部署能力

检查模型部署后,生产环境下数据预测过程的流程化性能,及调度脚本的正确和可维护性;

1) 模型部署后,使用调度脚本控制数据预测的流程化过程;

2) 查看控制脚本的正确性和完整性,以及灵活控制整个流程变化的能力。

十、运行数据加载效率

模型在日常运行过程中,检查批处理的预测输入数据采集、加工及预测过程的处理效率;

1)确定数据处理用到的软硬件运行环境,了解其运算效率;2)进行完整的数据批处理过程(数据采集、加工及预测)并记录耗时,检查是否有耗时较长的步骤,并寻求可改进的方法(编码改进,软件选择,设备更改)。

Be the Change

与传统IT技能有所区别,在数据挖掘领域工作能够沉淀下来的并不完全是技术,更多的是对数据资产的理解与认知。如何最大化数据资产价值,如何通过数据产品完成价值传导,这些关键问题决定了创新是数据挖掘领域的核心能力。技术日新月异,昨天的知识到了今天可能就是错误的,所以需要持续更新知识;先把自己武装起来,才有机会做些实事。

另外,数据挖掘的工作涉及人员、角色众多,需要建立良好的协会关系。单打独斗能做一两个模型,但是落地应用就需要多方参与,以共赢为基调才有可能推进模型在业务流程中的实际应用。至于数据挖掘建模从点到面的推广,就需要建立完善的模型试验室和模型工厂工作机制,也就是要真正实现数据挖掘的工程化。这是目前传统企业进行数字化转型过程中需要重点考虑的问题,过程中涉及人员、工具、文化等影响因素。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: