2024年最全一文读懂数据挖掘建模预测_数据挖掘做预测模型比较(1)

人可以根据经验对未来进行预测,那么机器能帮我们做这些吗?

能,这就是数据挖掘。

在这里插入图片描述

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

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

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

在这里插入图片描述

那么,模型又是怎么建立出来,也就是这个函数是怎么找出来的呢?

想想如何让一个人拥有判断瓜好坏的能力呢?

需要用一批瓜来练习,获取剖开前的特征(色泽、根蒂、敲声等),然后再剖开它看好坏。久而久之,这个人就能学会用剖开前瓜的特征来判断瓜的好坏了。朴素地想,用来练习的瓜越多,能够获得的经验也就越丰富,以后的判断也就会越准确。

用机器做数据挖掘是一样的道理,我们需要使用历史数据(用来练习的瓜)来建立模型,而建模过程也被称为训练或学习,这些历史数据称为训练数据集。训练好了模型后,好像发现了数据的某种规律,就可以拿来做预测了。

也就是说,数据挖掘是用来做预测的,而要做到这种预测,需要有足够多已经有结果的历史数据为基础。

在这里插入图片描述

数据挖掘能干什么

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

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

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

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

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

在这里插入图片描述

需要说明的,数据挖掘模型的预测并不能保证 100%准确(比如再有经验的瓜农也有选错瓜的时候),如果只有一例目标(比如只有一笔贷款)需要预测时,那就没有意义了。但通常,我们都会需要预测很多例目标,这样即使不是每一例都能预测正确,但能保证一定的准确率,这仍然是很有意义的。

对于贷款业务,模型找出来的高风险客户未必都是真的,但准确率只要足够高,仍然能够有效的防范风险。

在这里插入图片描述

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

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

在这里插入图片描述

数据挖掘需要哪些流程

通常一个完整的数据挖掘项目包含业务理解、数据理解、数据准备、数据预处理和建模、模型评估、模型部署应用。

在这里插入图片描述

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

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

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

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

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

在这里插入图片描述

普通人能用数据挖掘做预测吗?

既然,数据挖掘是一项很实用的技能,那么普通人能学会吗?

从数据挖掘的流程来看,最难掌握的就是数据预处理和建模部分,而其他部分看起来专业术语也不少,但只要稍加学习都能掌握,没什么技术难度。

为什么说预处理和建模部分难学。因为这部分对数学能力的要求较高,一般只有统计学或数学相关专业的人士才具备相关的能力,普通人要想掌握,需要学习很多数学相关的课程,比如,概率论,数理统计,线性代数,随机过程……,这些知识是难以速成的。

在这里插入图片描述

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

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

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

在这里插入图片描述

这些都需要建模师结合自己的知识和经验反复的去调试。要知道,有专业知识的选手其实也会用这些现成的函数包,但建一个好模型通常仍然要几天甚至数周时间,其中大部分时间都是在不断地调整优化。并不是把数据往算法里一丢就完事的。

虽然有了封装好的算法,要学会数据挖掘,也还是要学数学,学算法。这事在培训班中速成是没有戏的。

在这里插入图片描述

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值