数据挖掘的方法有哪些?

数据挖掘的方法有哪些?数据挖掘的方法有哪些?01数据挖掘方法分类介绍1.预测性——有监督学习2.描述性——无监督学习02数据挖掘方法论1.CRISP-DM方法论2.SEMMA方法论03数据挖掘建模框架的3个原则1.以成本-收益分析为单一分析框架2.以分析主体和客体为视角3.构建全模型生命周期工作模板数据挖掘是一个多学科交叉的产物,涉及统计学、数据库、机器学习、人工智能及模式识别等多种学科,如图1-4所示。01数据挖掘方法分类介绍数据挖掘方法按照来源进行分类显得过于庞杂,而且不便于理解和记忆。按照其目

大家好,又见面了,我是你们的朋友全栈君。

数据挖掘是一个多学科交叉的产物,涉及统计学、数据库、机器学习、人工智能及模式识别等多种学科,如图1-4所示。
在这里插入图片描述

01 数据挖掘方法分类介绍

数据挖掘方法按照来源进行分类显得过于庞杂,而且不便于理解和记忆。按照其目的,将数据挖掘方法分为预测性和描述性两大类,如下所示。

目的:预测性

  • 定义:有监督学习,分类模型,用一个或多个自变量预测因变量的值

  • 举例:客户是否会违约是一个因变量,可以根据客户的性别、年龄、收入、职位、经济状况、历史信用状况等因素进行预测

  • 主要算法:决策树、线性回归、逻辑回归、支持向量机、神经网络、判别分析等

目的:描述性

  • 定义:无监督学习,分析具有多个属性的数据集,找出潜在的模式,没有因变量

  • 举例:观察个体之间的相似程度,如根据年龄、性别、收入等因素进行客户细分。根据客户对多个产品的购买情况发现产品之间的相关性

  • 主要算法:聚类、关联分析、因子分析、主成分分析、社交网络分析等

1. 预测性——有监督学习

预测性分析指的是用一个或多个自变量预测因变量的值,以历史数据为训练集,从中学习并建立模型,然后将此模型运用到当前数据上,推测结果

以客户违约作为预测性分析的研究场景,客户是否会违约是一个因变量,我们可以根据客户的性别、年龄、收入、职位、经济状况、历史信用状况等进行预测。

根据商业案例,分类模型可分为三大类。

  • 决策类,如银行卡欺诈检测、人体生物特征识别。

  • 等级评定类,如客户信用评分。

  • 估计类,如违约损失准备金估计、收入预测等。

有些数据挖掘算法在某类应用上表现得更好,如最近邻域法、支持向量机在决策类应用上表现良好,但是在解决排序类和估计类问题时表现一般。

而有些数据挖掘算法的表现比较稳定,如决策树和逻辑回归对三类问题都适用,但是在决策类问题上没有在后两类问题上表现好。

2. 描述性——无监督学习

描述性分析指的是分析具有多个属性的数据集,找出潜在的模式并进行分类

描述性分析是一种无监督的学习过程。区别于有监督的学习,无监督学习算法没有参照指标,需要结合业务经验来判断数据分类是否正确。无监督学习比较耗时,而且对建模人员的业务素质要求较高。

描述性分析主要应用于以下两种场景:

  • 第一种是观察个体之间的相似程度,如根据年龄、性别、收入等进行客户细分;

  • 第二种是根据客户购买的多个产品发现产品之间的相关性,主要算法包括样本聚类、关联规则等。

02 数据挖掘方法论

下面讲解最为常用的CRISP-DM方法论SEMMA方法论

1. CRISP-DM方法论

CRISP-DM方法论由NCR、Clementine、OHRA和Daimler-Benz的数据挖掘项目总结而来,并被SPSS公司大力推广。CRISP-DM方法论将数据挖掘项目的生命周期分为6个阶段,分别是商业理解数据理解数据准备建模评估准备工作,如图所示。
在这里插入图片描述

在实际项目进行过程中,由于使用者的目标背景和兴趣不同,有可能打乱各阶段顺承的关系。

上图呈现了CRISP-DM方法执行流程的6个阶段。各个阶段的顺序不是保持不变的,有时需要在某个阶段向前或向后移动,这取决于每个阶段的结果和下一个阶段的具体任务。箭头指出了各个阶段之间的关联。

在上图,最外圈的循环表示数据挖掘本身的循环特征。数据挖掘是一项持续的工作。在上一个流程和解决方案中获得的经验与教训,可以给下一个项目提供指导。下面简要介绍每个阶段的特点。

1)商业理解

该阶段的特点是从商业角度理解项目的目标和要求,通过理论分析找出数据挖掘可操作问题,制订实现目标的初步计划。

2)数据理解

该阶段开始于原始数据的收集,然后是熟悉数据、标明数据质量问题、探索对数据的初步理解、发掘有趣的子集,以形成对探索关系的假设。

3)数据准备

该阶段包括所有从原始的、未加工的数据构造数据挖掘所需信息的活动。数据准备任务可能被实施多次,而且没有任何规定的顺序。这些任务的主要目的是从源系统根据维度分析的要求,获取所需要的信息,同时对数据进行转换和清洗。

4)建模

该阶段主要是选择和应用各种建模技术,同时对参数进行校准,以达到最优值。通常,同一类数据挖掘问题会有多种建模技术。一些技术对数据格式有特殊的要求,因此常常需要返回到数据准备阶段。

5)评估

在模型最后发布前,根据商业目标评估模型和检查模型建立的各个步骤。此阶段的关键目的是,确认重要的商业问题都得到充分考虑。

6)准备工作

模型完成后,由模型使用者(客户)根据当时的背景和目标完成情况,决定如何在现场使用模型。

2. SEMMA方法论

除了CRISP-DM方法论,SAS公司还提出了SEMMA方法论。其与CRISP-DM方法论内容十分相似,流程为定义业务问题、环境评估、数据准备、循环往复的挖掘过程、上线发布、检视。其中循环往复的挖掘过程包含探索修改建模评估抽样5个步骤,如图下图所示。
在这里插入图片描述

1)抽样

该步骤涉及数据采集、数据合并与抽样操作,目的是构造分析时用到的数据。分析人员将根据维度分析获得的结果作为分析的依据,将散落在公司内部与外部的数据进行整合。

2)探索

这个步骤有两个任务,第一个是对数据质量的探索

变量质量方面涉及错误值(年龄=-30)、不恰当(客户的某些业务指标为缺失值,实际上是没有这个业务,值应该为“0”)、缺失值(没有客户的收入信息)、不一致(收入单位为人民币,而支出单位为美元)、不平稳(某些数据的均值变化过于剧烈)、重复(相同的交易被记录两次)、不及时(银行客户的财务数据更新滞后)等。

探索步骤主要解决错误的变量是否可以修改、是否可以使用的问题。比如,缺失值很多,平稳性、及时性很差的变量不能用于后续的数据分析,而缺失值较少的变量需要进行缺失值填补。

第二个是对变量分布形态的探索

对变量分布形态的探索主要是对变量偏态和极端值进行探索。由于后续的统计分析大多是使用参数统计方法,这要求连续变量最好是对称分布的,这就需要我们了解每个连续变量的分布情况,并制定好变量修改的方案。

3)修改

根据变量探索的结论,对数据质量问题和分布问题涉及的变量分别做修改。数据质量问题涉及的修改包括错误编码改正、缺失值填补、单位统一等操作。变量分布问题涉及的修改包括函数转换和标准化,具体的修改方法需要与后续的统计建模方法相结合。

4)建模

根据分析的目的选取合适的模型,这部分内容在1.3节已经做了详细的阐述,这里不再赘述。

5)评估

这里指模型的样本内验证,即使用历史数据对模型表现的优劣进行评估。比如,对有监督学习使用ROC曲线和提升度等技术指标评估模型的预测能力。

03 数据挖掘建模框架的3个原则

笔者提出了数据挖掘建模框架的3个原则,即以成本-收益分析为单一分析框架、以分析主体和客体为视角构建全模型生命周期工作模板,将纷繁多样的数据挖掘应用主题归纳为3大分析范式和9大工作模板,如图下图所示。
在这里插入图片描述

1. 以成本-收益分析为单一分析框架

世上万事万物都具有矛盾的两面性,金融数据挖掘建模力图通过数据反映行为背后的规律,紧抓主要矛盾就是找寻规律的捷径。大家都知道,挖掘有效的入模特征是数据建模的难点。一旦我们了解了分析课题的主要矛盾,这个难点就迎刃而解了。下面讲解如何使用这个框架进行分析。

首先举3个例子。

  1. 信用评分模型中,是否逾期是被预测变量,而解释变量中经常出现的收入稳定性、职业稳定性、家庭稳定性、个人社会资本都是在度量客户违约成本。信用历史既是被解释变量的滞后项,也能反映违约成本。收益会用贷存比、贷收比、首付占比等指标来衡量。

  2. 申请欺诈模型的标签往往是客观存在的。入模特征以反映异常为主,比如异常高的收入、异常高的学历、异常密集的关系网络等。这背后隐藏着统一的成本-收益分析框架。之所以会显示异常,是因为造假是有成本的,信用卡申请欺诈者知道收入证明造假可以获得更高的信用额度,但是由于其居住地、职业和学历没有造假,因此按照这三个维度对其收入进行标准化之后很容易发现其收入异常。这可以说是公开的秘密,因为信用卡发放公司会根据造假成本对非可靠申请者进行授信,使得欺诈者无利可图。

  3. 运营优化模型比如资产组合的持仓问题,其收益是资产的收益率,而成本是该资产市场价格的波动率。建模人员需要选择收益-成本最优的组合。

2. 以分析主体和客体为视角

在数据挖掘建模中,定义标签是主体视角。比如营销预测模型中客户是否响应,是建模人员自己定的规则,这个规则有可能是收到营销短信后三天内注册账号并产生订单。

在构建入模的特征集时需要采用客体视角,比如手机银行的营销响应模型中,入模的特征应该反映客体的成本-收益的变量,比如年龄反映的是使用手机银行和去实体渠道的成本。

当建模人员意识到标签是自己主观臆断的时候,便会对该标签的选择更用心;当意识到入模的特征来自客体时,才会从客体的视角出发更高效地构建特征集。

3. 构建全模型生命周期工作模板

我们在CRIP-DM和SEMMA的基础上提出“高质量数据挖掘模型开发七步法”,如图1-19所示。

前三步是蓄势阶段,更多的是从业务人员、数据中吸收经验并形成感知。制作特征、变量处理和建立模型阶段是丰富特征、寻找有效模型的阶段,需要通过各种手段探查到最有效的特征和精度最高的模型。最后是模型输出阶段,选出的模型不但精度高,还要稳定性强。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148517.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 伪代码的写法[通俗易懂]

    伪代码的写法[通俗易懂]伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。介于自然语言与编程语言之间。  它以编程语言的书写形式指明算法的职能。相比于程序语言(例如Java,C++,C,Dephi等等)它更类似自然语言。它是半角式化、不标准的语言

    2022年6月3日
    134
  • mysql性能分析工具_中大型suv横向测评

    mysql性能分析工具_中大型suv横向测评因为工作的原因,我有机会仔细用过市面上几乎所有的MySQL管理工具,对各家的数据库管理软件的特性有了全面的了解。我大概用了20+款MySQL管理工具,从种挑出10款最棒的写了今天的测评。其中7款免费或有社区免费版,另外3种是付费版。当初,在研究这些工具时,我发现网上那些所谓的测评推荐文章里,几乎没人真用过自己文章中写的软件,都是云测评。当时就想自己把所有软件都用一遍,找机会写一篇深度横向测评文章,帮助选择困难症患者,选到最合适大家当下工作场景的工具,节省时间。本文所写软件.

    2022年8月22日
    7
  • 变量以及数据类型_数据类型定义

    变量以及数据类型_数据类型定义变量以及数据类型变量的相关概念为什么需要变量变量的介绍概念变量使用的基本步骤变量使用注意事项变量的数据类型注意:数据类型相关整型:基本介绍整数的类型整型的使用细节浮点类型基本介绍浮点类型说明一下:浮点型使用细节字符类型基本介绍字符类型使用细节字符类型本质探讨布尔类型基本介绍变量的相关概念为什么需要变量不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位。如下代码:voidmain(){ inta=1;//定义了一个整型变量,取名为a,并赋值为1(强数据类型语言) int

    2022年10月21日
    5
  • 左值和右值的理解[通俗易懂]

    关于左值和右值的理解:①从位置来讲:eg:a=b;a在左边,a为左值,那在右边的b就是右值(前提是语句合法,比如说a+25=b;则不合法) ②深层次讲:左值(L_value,L理解为Location)为地址值右值(R_value,R理解为Read)为数据值eg:a=b;即将b(右值–数据值)赋值给a(左值–地址值) ③再通俗一点讲:左值就是…

    2022年4月6日
    75
  • C语言数组当参数传递

    C语言数组当参数传递在学习C语言的过程中遇到数组作为参数传递的问题一维数组:#includeinttest2(inta[]){ for(inti=0;i<5;i++){ printf("%d",a[i]); }}intmain(){ inta[5]={1,2,3,4,5},*p; p=a; test2(a); }这样我们可以很顺利的在test去遍历这个

    2022年7月11日
    20
  • 2018年Android SDK下载安装及配置教程

    2018年Android SDK下载安装及配置教程下载并安装Android SDK官网(可翻墙选择):http://developer.android.com/sdk/index.html不可翻墙选择:http://www.androiddevtools.cn/或者360安全卫士—360软件管家—编程开发—搜索即可。(下面以第二种方法为例进行下载)1、下载AndroidSDKTools先找到SDKTools,下载最新的版本即可。选择zip的…

    2022年7月19日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号