学习总结之数据挖掘三大类六分项

Data Mining可分为三大类六分项来说明:

Classification和Clustering属于分类区隔类;

Regression和Time-series属于推算预测类;

Association和Sequence则属于序列规则类。

Classification是根据一些变量的数值做计算,再依照结果作分类。(计算的结果最后会被分类为几个少数的离散数值,例如将一组数据分为 "可能会响应" 或是 "可能不会响应" 两类)。Classification常被用来处理如前所述之邮寄对象筛选的问题。我们会用一些根据历史经验已经分类好的数据来研究它们的特征,然后再根据这些特征对其他未经分类或是新的数据做预测。这些我们用来寻找特征的已分类数据可能是来自我们的现有的客户数据,或是将一个完整数据库做部份取样,再经由实际的运作来测试;譬如利用一个大型邮寄对象数据库的部份取样来建立一个Classification
Model,再利用这个Model来对数据库的其它数据或是新的数据作分类预测。

Clustering用在将数据分群,其目的在于将群间的差异找出来,同时也将群内成员的相似性找出来。Clustering与Classification不同的是,在分析前并不知道会以何种方式或根据来分类。所以必须要配合专业领域知识来解读这些分群的意义。   

Regression是使用一系列的现有数值来预测一个连续数值的可能值。若将范围扩大亦可利用Logistic
Regression来预测类别变量,特别在广泛运用现代分析技术如类神经网络或决策树理论等分析工具,推估预测的模式已不在止于传统线性的局限,在预测的功能上大大增加了选择工具的弹性与应用范围的广度。

Time-Series Forecasting与Regression功能类似,只是它是用现有的数值来预测未来的数值。两者最大差异在于Time-Series所分析的数值都与时间有关。Time-Series
Forecasting的工具可以处理有关时间的一些特性,譬如时间的周期性、阶层性、季节性以及其它的一些特别因素(如过去与未来的关连性)。

Association是要找出在某一事件或是数据中会同时出现的东西。举例而言,如果A是某一事件的一种选择,则B也出现在该事件中的机率有多少。(例如:如果顾客买了火腿和柳橙汁,那么这个顾客同时也会买牛奶的机率是85%。)

Sequence Discovery与Association关系很密切,所不同的是Sequence
Discovery中事件的相关是以时间因素来作区隔(例如:如果A股票在某一天上涨12%,而且当天股市加权指数下降,则B股票在两天之内上涨的机率是 68%)。

Data Mining在各领域的应用非常广泛,只要该产业拥有具分析价值与需求的数据仓储或数据库,皆可利用Mining工具进行有目的的挖掘分析。一般较常见的应用案例多发生在零售业、直效行销界、制造业、财务金融保险、通讯业以及医疗服务等。

于销售数据中发掘顾客的消费习性,并可藉由交易纪录找出顾客偏好的产品组合,其它包括找出流失顾客的特征与推出新产品的时机点等等都是零售业常见的实例;直效行销强调的分众概念与数据库行销方式在导入Data Mining的技术后,使直效行销的发展性更为强大,例如利用Data
Mining分析顾客群之消费行为与交易纪录,结合基本数据,并依其对品牌价值等级的高低来区隔顾客,进而达到差异化行销的目的;制造业对Data Mining的需求多运用在品质控管方面,由制造过程中找出影响产品品质最重要的因素,以期提高作业流程的效率。

近来电话公司、信用卡公司、保险公司以及股票交易商对于诈欺行为的侦测(Fraud Detection)都很有兴趣,这些行业每年因为诈欺行为而造成的损失都非常可观,Data
Mining可以从一些信用不良的客户数据中找出相似特征并预测可能的诈欺交易,达到减少损失的目的。财务金融业可以利用Data Mining来分析市场动向,并预测个别公司的营运以及股价走向。Data
Mining的另一个独特的用法是在医疗业,用来预测手术、用药、诊断、或是流程控制的效率。

一般而言,Data Mining的理论技术可分为传统技术与改良技术两支。传统技术以统计分析为代表,统计学内所含序列统计、概率论、回归分析、类别数据分析等都属于传统数据挖掘技术,尤其Data
Mining 对象多为变量繁多且样本数庞大的数据,是以高等统计学里所含括之多变量分析中用来精简变量的因素分析(Factor
Analysis)、用来分类的判别分析(Discriminant
Analysis),以及用来区隔群体的分群分析(Cluster
Analysis)等,在Data Mining过程中特别常用。

在改良技术方面,应用较普遍的有决策树理论(Decision
Trees)、类神经网络(Neural Network)以及规则归纳法(Rules
Induction)等。决策树是一种用树枝状展现数据受各变量的影响情形之预测模型,根据对目标变量产生之效应的不同而建构分类的规则,一般多运用在对客户数据的分析上,例如针对有回函与未回含的邮寄对象找出影响其分类结果的变量组合,常用分类方法为CART(Classification
and Regression Trees)及CHAID(Chi-Square
Automatic Interaction Detector)两种。 类神经网络是一种仿真人脑思考结构的数据分析模式,由输入之变量与数值中自我学习并根据学习经验所得之知识不断调整参数以期建构数据的型样(patterns)。类神经网络为非线性的设计,与传统回归分析相比,好处是在进行分析时无须限定模式,特别当数据变量间存有交互效应时可自动侦测出;缺点则在于其分析过程为一黑盒子,故常无法以可读之模型格式展现,每阶段的加权与转换亦不明确,是故类神经网络多利用于数据属于高度非线性且带有相当程度的变量交感效应时。   

规则归纳法是知识发掘的领域中最常用的格式,这是一种由一连串的「如果…/则…(If
/ Then)」之逻辑规则对数据进行细分的技术,在实际运用时如何界定规则为有效是最大的问题,通常需先将数据中发生数太少的项目先剔除,以避免产生无意义的逻辑规则。

时间: 2024-12-16 16:26:53

学习总结之数据挖掘三大类六分项的相关文章

黑 马 程 序 员_视频学习总结<Objective-C>----02 三大特性

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ----------------------  面向对象的三大特性(精华):(成员变量.方法)封装.继承.多态. 一.封装 1.为什么需要封装? 根据以前学的内容,假如我声明一个student类,里面有public成员age..我在主函数中写代码 student *s = [studentnew].这样的话我可以通过s→age修改age的值,但是会出现s→age=-10这种赋值,但是我们都

数据访问类的封装与三大类

数据访问类的封装: 数据访问类分为三大类:连接类,实体类,数据访问类. 1.连接类: public class lianjie { private static string connection="server=.;database=mydb;uid=sa;pwd=789234178"; public static Sqlconnection conn { get { SqlConnection conn=new Sqlconnection(connecction); return

javascript学习笔记---ECMAScriptECMAScript 对象----定义类或对象

使用预定义对象只是面向对象语言的能力的一部分,它真正强大之处在于能够创建自己专用的类和对象. ECMAScript 拥有很多创建对象或类的方法. 原始的方式 因为对象的属性可以在对象创建后动态定义(后绑定),类似下面的代码: var oCar = new Object; oCar.color = "blue"; oCar.doors = 4; oCar.mpg = 25; oCar.showColor = function() { alert(this.color); };不过这里有一

C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义(转载)

C#与Java对比学习:类型判断.类与接口继承.代码规范与编码习惯.常量定义 类型判断符号: C#:object a;  if(a is int) { }  用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 instanceof 符号判断 类与接口的继承: C#:public class MDataRow : List<MDataCell>, IDataRecord, ICustomTypeDescriptor Java:publi

学习IOS开问题篇--类中的成员变量如果不实例化是什么情况

@interface Person : NSObject @property (noatonmic,copy) NSString * name; @end 一个person类,name是person得成员变量 如果在一个类中写入person为成员变量 self.person.name = @"zhangsan"; 如果前面不将person实例化,实际上是在对一个空指针进行操作 [nil setname:@"zhangsan"]; 因为oc中对空指针发消息不会报错,所

arcglobe 图层三大类说明

若是第一次打开,且在网络连接通畅的情况下,你会发现目录中已有部分数据层,这些数据层是由ArcGIS Online的在线数据:Imagery图层即在线的影像数据.高程数据.地名数据.运输线数据. ArcGlobe 的图层类型有别于ArcMap 在ArcGlobe 共有三种类型的图层: 浮动层(Floating layers) 叠加层(Draped layers) 高程数据层(Elevation layers) 说明: Floating layers:define their own place i

java学习笔记07--日期操作类

java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. [java] view plaincopy public class T { public static void main(String[] args) { Date date  = new Date(); System.out.println("当前日期:"+date); //当前日期:Thu May 16 23:00:57 CST 

Java学习笔记_23_List接口实现类

23.List接口实现类: List接口继承了Collection接口,它是一个允许存在重复项的有序集合. 1>实现类ArrayList: ArrayList类支持可随需要而增长的动态数组.数组列表以一个原大小被创建,当超过了它的大小, 类集自动增大,当对象被删除后,数组就可以缩小. 优点:ArrayList类对于使用索引取出元素用较高的效率,他可以用索引快速定位对象. 缺点:ArrayList类对于元素的删除或插入速度较慢. 构造方法: · ArrayList(): 构造一个初始容量为10的空

Scala学习(五)---Scala中的类

Scala中的类 摘要: 在本篇中,你将会学习如何用Scala实现类.如果你了解Java或C++中的类,你不会觉得这有多难,并且你会很享受Scala更加精简的表示法带来的便利.本篇的要点包括: 1. 类中的字段自动带有getter方法和setter方法 2. 你可以用定制的getter/setter方法替换掉字段的定义,而不必修改使用类的客户端,这就是所谓的"统一访问原则" 3. 用@BeanProperty注解来生成JavaBeans的getXxx/setXxx()方法 4. 每个类