现阶段大数据、人工智能技术日新月异,对于数据科学领域的工作者来说,在学习新技术的同时更要积极探索适合企业发展的应用场景。尤其是在人工智能领域,现阶段业界对于技术和数据的讨论比较多,但在传统行业中的应用场景其实还差的很多。
当然这不是一蹴而就的,其实依赖于企业整体数据应用水平的提升。企业积极尝试应用新技术,在大数据分析挖掘领域进行试点,然后伴随数据挖掘从点到面的工程化铺开,人工智能的应用场景自然就会呈现出来。
通常传统企业在大数据挖掘领域会有所尝试,并在若干点上取得一定的进展,但距离整体铺开应该都还有很大的差距。企业数字化转型即业务从电子化到数字化的过程,对应着大数据应用深度和复杂度的持续提升,其中数据挖掘的工程化水平是一个重要的衡量标准。
数据挖掘在流程机制的建立过程中要充分实现工程化管理,同时注意加强知识技能的共享和传导。模型开发对应的是实验室机制,数据科学家发挥应有的核心作用。模型部署则是工厂化的概念,需要严格的验证测试过程,确保模型在生产环境稳定高效运行。模型运行结果在业务应用中发挥应有的数据价值,同时业务发展催生新的建模需求。模型管理在整体上发挥监督指导作用,负责数据挖掘全生命周期的管理。
数据挖掘模型管理包括的内容很多,模型从开发到部署的过程中需要一套严格的操作办法,具体可分为十个步骤。这些步骤基本覆盖从模型开发到模型部署的全过程,同样适合于数据挖掘工作的监督管理或第三方评测。
十是一个有趣且比较完整的数字,当然内容可以细化或合并,将其增加或减少直至获得中意的数字。另外,模型都是有生命周期的,满足条件之后就要进行退役或下线,这个过程就不在十个步骤中体现了。
一、原始数据采集
检查原始数据提取过程(数据仓库、数据集市、外部数据等),注意查看是否按要求进行数据脱敏,以及是否进行数据质量检查。
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)多次重复建模过程,改变模型开发输入数据,检查结果可再现性及稳定性。
九、流程化部署
检查模型部署在生产环境后模型运行过程的流程化能力,以及调度脚本的正确性和可维护性。
1)模型部署后,使用调度脚本控制数据挖掘模型实现流程化运行;
2)查看调度脚本的正确性和完整性,以及控制整个流程调整变化的能力。
十、模型运营优化
模型在日常运行过程中,检查批处理的输入数据采集、加工及运行过程的处理效率,检查模型输出结果的时效性和准确性。
1)确定数据处理用到的软硬件运行环境,分析其运算效率;
2)进行完整的数据批处理过程(数据采集、加工及预测)并记录耗时,检查是否有耗时较长的步骤,并寻求可改进的方法(编码改进,软件选择,设备更改);
3)检查模型运行结果是否满足前端业务应用需求,跟踪模型运行情况,定期进行模型结果分析,并适时启动模型优化更新。