一文读懂数据挖掘建模预测

什么是数据挖掘

数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。

听起来比较抽象,我们举个例子。

傍晚小街路面上沁出微雨后的湿润,和煦的细风吹来,抬头看看天边的晚霞,嗯,明天又是一个好天气。走到水果摊旁,挑了个根蒂蜷缩、敲起来声音浊响的青绿西瓜,心里期待着享受这个好瓜。

“经验”通常以“数据”的形式存在,数据挖掘的任务就是从历史数据(之前挑瓜的经历,注意是经历还不是经验)中挖掘出有用的“知识”,也就是所谓“模型”(现在就形成经验了),在面对新情况时(未抛开的瓜)模型就可以用来预测(是不是好瓜)。

用高中生能理解的数学语言来讲,数据挖掘建模任务的本质就是,根据一些历史已有的、从输入空间 X(如 {[色泽青绿;根蒂蜷缩;敲声浊响],[色泽乌黑;根蒂蜷缩;敲声沉闷],[色泽浅白;根蒂硬挺;敲声清脆]} )到输出空间 Y(如 {好瓜,坏瓜,坏瓜})的对应,找出一个函数 f,来描述这个对应关系,这个函数就是我们要的模型。

有了模型之后再做预测就简单了,也就是拿一套新 x,用这个函数算一个 y 出来就完了。

数据挖掘能干什么

那么,这种预测技术如何应用在我们的生产销售过程中呢/p>

以贷款业务为例,金融机构要做风险控制,防止坏帐,就要在放贷前知道这个贷款人将来不能按时还款的风险,从而决定是否放贷以及贷款利率。

要做到这件事,我们要有一定数量的历史数据,也就是以前贷款人及贷款业务的各种信息,比如贷款人的收入水平、受教育程度、居住地区、信用历史、负债率等等可能会影响违约率的因素,还有贷款本身的金额、期限、利率等等。

然后就可以使用数据挖掘技术建立模型来寻找用户及贷款的各种信息 X 和是否会发生违约 Y 之间的关系。

建好的模型可以用来预测,及时发现高风险用户。

数据挖掘技术的应用非常广泛,比如工业领域中可以根据历史生产数据来预测良品情况,从而改进工艺参数降低不良率;畜牧业可以使用数据挖掘技术根据测量牲畜体温来预测牲畜是否生病,从而提前防治;医院也可以使用历史医疗记录基于数据挖掘技术找出关联规律,帮助医生更好地诊断疾病。

总之,只要是有数据有场景几乎都会考虑用数据挖掘解决某些问题。

业务理解的主要工作有需求调研,了解商务背景;明确业务目标和成功的标准。数据理解和业务理解一般是同时进行的,主要内容包括确定建模所需要的数据,描述数据,探索数据,检验数据质量,明确数据挖掘目标和成功标准。这两个阶段的主要任务就是明确挖掘目标和建模数据,目标和数据都明确以后就可以开始着手准备数据。

数据准备的主要工作包括选择数据、清洗数据、构造数据、整合数据、格式化数据等等。如果企业的数据仓库建设比较完善,那么这个步骤的工作就非常简单,只需要做一些数据筛选,表间关联工作即可。反之,如果数据都是一些非常原始的数据比如日志数据、流水数据,数据准备这部分就比较耗费时间和精力了,需要做很多数据汇总,特征提取的工作。

数据预处理和建模,这个环节是整个项目中技术难度最大的部分,通常必须由专业的挖掘工程师来完成。虽然,通俗地看,建模就是我们前面说过的在挑瓜过程中积累经验的事情,但实际上针对大量数据时仍然非常复杂。不同类型的数据和不同的预测目标会有不同的积累经验方案,也就是不同的算法。业界有数十种数据挖掘的算法,各有各的适应场景和数据要求以及参数,都需要根据实际情况来选择使用和准备数据并调整参数。这个阶段的主要工作有:样本选取,确定训练样本和测试样本、数据预处理、模型算法技术选型、筛选变量、模型训练、模型测试等。

需要理解的是:(1)数据预处理是非常有必要的,好的预处理往往比单纯的调参更能提高模型性能;(2)预处理和建模过程并非一次性执行完毕就大功告成了,需要不断的迭代优化,才能获得比较理想的结果。

模型评估,是对模型进行较为全面的评价的过程,计算模型的各种指标,比如 AUC,Gini,KS,Lift,模型稳定性等等,这样才能判断出建出来的模型是不是足够好。然后再进行模型的业务应用测试,判断是否能实现商业目标。模型合格后,就可以部署应用,即把数据挖掘的成果部署到商业环境,应用于生产活动。

虽然在 Python 里有很多现成的算法包,通过调包也能建出模型,但不懂得数学原理模型效果又如何保证呢如精确度不好,或者不稳定。如果没有充分的数学知识就不知道如何改进,只能无方向的随机尝试,如同大海捞针。

例如,5% 的顾客没有指定年龄,是整体忽略该变量,还是忽略这部分有缺失的样本,又或者是将缺失值补充完整(使用平均值填充还是中位数填充又或者更复杂的方法的填充),或者是训练一个带这个特征的模型,再训练一个不带这个特征的模型。同样是缺失值处理,当缺失率为 90% 时,是否还采用相同的处理方法呢。

再例如,高基数变量如何处理,数据噪音如何处理,不平衡样本,高偏数据,各种模型参数……

那么,对于普通人来说还有没有什么办法不学这些晦涩难懂的知识也能做数据挖掘呢/p>

答案是,有的。那就是利用工具,自动数据挖掘工具。自动数据挖掘工具将建模所需要知识和流程整合起来,这样就可以利用前人的知识自动建模和预测了。借助自动建模工具,我们只需要完成业务理解,数据准备过程,剩下的难度较大,并且需要反复迭代进行的建模过程尽可交给工具来完成。

这样解决掉最难的部分,剩下的环节就容易多了,只要熟悉业务,了解一些基本概念,就能够用数据挖掘做预测了。

在算法种类方面易明建模涵盖了常用的机器学习算法,比如线性回归,逻辑回归,树类算法,集成算法,pca 等,能够解决分类问题,回归问题和时间序列问题,大部分的商业场景问题都能用。

在模型质量方面,易明建模拥有顶级科学家的经验和理论,并且经过了大量的实践验证。远超培训班选手,能够达到中上等数据挖掘师的水平。当然作为一个通用的数据挖掘软件,和苦读 N 年的专业选手精心调出来的模型可能还会稍差一些,但对于大多数的场合已经足够用了。

易明建模还有一大亮点,就是耗费资源少,建模速度快。百万级的样本量,PC 机也能跑,万级的样本量,更是几分钟就搞定。当然巧妇难为无米之炊,如果数据量太少也是不行的。

借助易明自动建模,普通人也能做数据挖掘,重要的是,这么好用的软件竟然还是免费的,免费的羊毛不薅白不薅。直接到润乾的官 上就可以下载。

好在,这些东西虽然听起来有点复杂,但其实学起来并不难,只要有高中数学基础,花一两周时间就能理解学会了,这属于可速成的知识。和学数学,学算法相比,相当于打了一个粉碎性折扣。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月11日
下一篇 2022年5月11日

相关推荐