数据挖掘是一项非常有挑战的工作。不同于其它工作,从一开始进行数据挖掘就没有明确的需求,用户也不知道想要什么东西。直到用户看到做出的结果触发他们的灵感,才能将他们的业务知识不断融入其中进行深层次的挖掘探索。
数据挖掘是一个反复交互的过程。数据挖掘过程中需要将挖掘的结果不断的提交给最终用户使用,这样才能不断获得用户的反馈,让用户深层次地参与进来。该工作不能闭门造车,如果所有工作做完之后再给用户使用,那些你认为合理的挖掘很有可能用户会觉得一文不值。
首次进行数据挖掘,有效的挖掘结果产出率极低。如果按照二八原则,面对不明确的需求,首次能够有20%的有效的挖掘成果就是很不错的了。面对这样的窘境不要灰心,在前人的探索下已经形成了一套有效且通用的挖掘工作标准方法。我们按照给出的流程推进挖掘工作,可尽量避免不必要的资源耗损。该方法严格按照数据挖掘建模标准(CRISP-DM)来执行,该模型将挖掘建模分为以下六个递进阶段(挖掘工作应该按部就班从第一步走到第六步)。
第一步,定义商业问题。定义商业问题是明确要达到的业务目标,并将其转换为数据挖掘主题。要从商业角度对业务部门的需求进行理解,把业务需求的理解转化为数据挖掘的定义,拟定达成业务目标的初步方案。具体包括商业背景分析、商业成功标准的确定、形势评估、获得企业资源清单、获得企业的要求和设想、评估成本和收益、评估风险和意外、初步理解行业术语,并确定数据挖掘的目标和制定数据挖掘计划。
此处有坑:
业务目标不清晰。一开始就跳入项目最有趣的部分--分析数据,但这样做只产出有趣的模型,而不能满足真正的商业需要。不能一开始就陷入细节,应该真正去了解业务问题以及明确模型可以发挥什么作用,确定项目团队的业务目标和提出衡量项目成功的指标。
第二步,数据理解。进行数据理解要找出可能影响主题的因素,确定这些影响因素的数据载体、数据体现形式和数据存储位置。数据理解从数据收集开始,然后熟悉数据,具体包括以下工作内容:检测数据质量,对数据进行初步理解,简单描述数据,探测数据意义,并对数据中潜藏的信息和知识提出拟用数据加以验证的假设。
此处有坑:
对数据缺乏理解。缺乏对数据的深度理解可能导致选取了不合理的数据进行数据挖掘。因为数据混杂,数据覆盖率不全,数据完整性不强和数据独立都会影响有效信息的发掘。应该认真选择合理的对业务目标支撑最大的数据,理解数据的意义,弄清不同数据之间的关联关系。
第三步,数据预处理。预处理是将前面找到的数据进行变换、组合,建立数据挖掘工具软件要求的格式和内容的宽表。数据准备阶段要从原始数据中形成作为建模分析对象的最终数据集。数据准备阶段的具体工作主要包括数据制表、记录处理、变量选择、数据转换、数据格式化和数据清理等,各项工作并不需要预先规定好执行顺序,而且数据准备工作还有可能多次执行。
此处有坑:
未做好对数据预处理工作。直接把数据从生产系统中导出使用,数据粒度参差不齐,导致很多分析无法轻易进行。若未对脏数据进行清洗,脏数据会影响分析结果。在理解数据之后将数据预处理形成统一格式非常重要,数据预处理的好坏直接影响后面模型建立以及模型的运行结果。
第四步,建立模型。建立模型是应用软件工具,选择合适的建模方法,处理准备好的数据宽表,找出数据中隐藏的规律。在建立模型阶段,将选择和使用各种建模方法,并将模型参数进行优化。对同样的业务问题和数据准备,可能有多种数据挖掘技术方法可供选用,此时可优选提升度高、置信度高、简单而易于总结业务政策和建议的数据挖掘技术方法。在建模过程中,还可能会发现一些潜在的数据问题,要求回到数据准备阶段。建立模型阶段的具体工作包括:选择合适的建模技术、进行检验设计、建造模型。
此处有坑:
盲目地返工。一些分析团队只用分析术语来评估他们的模型,认为如果模型只要做到可预测,那么它就是一个好的模型。大多数人通常可以意识到模型是有问题的,就会尝试检查他们的模型是否符合业务目标。但如果缺乏对商业问题的充分认识,这样的检查往往是徒劳的。如果他们开发的模型不符合业务需求,大多数人选择的是去找新数据或新的建模技术,而不是与他们的业务合作伙伴一起重新评估业务问题。
第五步,评价和解释。模型评估是从业务角度和统计角度进行模型结论的评估。要求检查建模的整个过程,以确保模型没有重大错误,并检查是否遗漏重要的业务问题。当模型评估阶段结束时,应对数据挖掘结果的发布计划达成一致。
此处有坑:
模型评估机制未建立。没有模型评估机制,就无法评估模型是否有效,得出的挖掘结果缺乏理论支撑。评估机制分为两点:第一、对模型的评估主要体现在检查功能的实现情况,比如检查所需要的报表、图表、数据是否按要求建立。第二、模型对商业问题的支撑力度,此评判建立在对商业问题的深入理解之上才能对结果进行判断。
第六步,部署和使用。建立模型本身并不是数据挖掘的目标,虽然模型使数据背后隐藏的信息和知识显现出来,但数据挖掘的根本目标是将信息和知识以某种方式组织和呈现出来(如:图形化报表展示),并用来改善运营和提高效率。当然,在实际的数据挖掘工作中,根据不同的企业业务需求,模型发布的具体工作可能简单到提交数据挖掘报告,也可能复杂到将模型集成到企业的核心运营系统中。
此处有坑:
盲目地部署。一些分析团队根本不考虑他们模型的部署和操作的易用性。做得好些的团队可以认识到他们构建的模型必将处理实时数据,数据通常存储在数据库中,或嵌入在操作系统中。即使是这样的团队通常也没有参与到部署工作中,不清楚模型是如何部署的,并不把部署当做分析工作的一部分。结果就是把模型直接丢给IT团队去部署,模型是否容易部署以及在生产环境中是否可用都是别人的问题。这增加了模型部署的时间和成本,并产生了大量从未对业务产生影响的模型。
无法形成迭代。建模专家团队了解模型的生命周期,为了保证模型的可用性,需要对模型保持更新。他们知道随着商业环境变化,模型的价值会改变,驱动模型的数据模式可能会改变。但他们认为这是另一个时间点的问题。由于他们缺少对业务问题的足够认识,往往难以确定如何评估模型的表现,相比模型建立阶段,他们在模型迭代、修改上的投入更少。毕竟解决另一个新问题更有趣。这使得老的模型不受监控和保护,从而破坏了模型的长期价值。
小结:
以上章节介绍了数据挖掘建模标准(CRISP-DM),对每一步要做什么工作进行了描述。同时,也对没有做好的情况可能带来的坑简要的说明了一下。
以上任意一步差错带来的问题都可能使构建出来的模型毫无商业价值,真正需要利用分析的组织,特别是数据挖掘、预测和机器学习等更高级的分析,必须避免这些问题。解决这些问题需要明确、清晰地关注决策,围绕着决策展开,包括需要改善的决策方法,做能实际改善决策的分析模型,设计可以辅助决策的系统,还需要明确在怎样的外部环境下需要重新评估模型。
期待在数据挖掘道路上同前行,共成长。