【阅读笔记】《大话数据挖掘》定义和功能
1、什么是数据挖掘?
从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中、人们事先不知道的、但潜在有用的信息和知识的过程。
l 噪音数据 由于异常情况的干扰、仪器故障、人工输入或者抄写错误,使获得的数据偏离真实值。
l 事物的不确定性:
模糊性(事物本身从属概念的不确定性,高矮......)
不确定性(事件发生与否的不确定性)
l 数据仓库 Data Warehouse
数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受——
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
主要功能:将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,作一有系统的分析整理,以利各种分析方法如联机分析处理(OLAP)、数据挖掘(Data Mining)之进行,并进而支持如决策支持系统(DSS)、主管资讯系统(EIS)之创建,帮助决策者能快速有效的自大量资料中,分析出有价值的资讯,以利决策拟定及快速回应外在环境变动,帮助建构商业智能(BI)。
PS:
l EMBA Executive Master of Business Administration
高级管理人员MBA工商管理硕士
l 萨姆 沃尔顿 沃尔玛公司创始人
服务理念:
日落原则(今日事今日毕)
十英尺态度/三米微笑(每当你在三米以内遇到一位顾客时,你会看着他的眼睛与他打招呼,同时询问你能为他做些什么)
营销策略:
女裤理论(薄利多销)
啤酒与尿布(商品关联性分析,购物篮分析market basket analysis)
2、数据挖掘的功能
2.1 关联Association 规则挖掘
Apriori 经典关联算法
首先从事件集中寻找所有频繁出现的事件子集,然后从这些频繁出现的事件子集中发现可信度较高的规则。
2.2 聚类
将数据对象划分为若干个类,在同一类的对象具有较高的相似度,而不同的类中的对象差异较大。(进行聚类之前,并不知道所研究对象有多少个类)
基于距离的距离算法
l 划分方法Partitioning Method
(1)K-Means
(2)K-Medoids
l 层次聚类方法 Hierarchial Method
(3)聚集
(4)分裂
(1)K-Means 算法
把n个数据对象划分为K个类,使每个类中的数据点到该类中心的距离平方和最小。
PS:凡满足距离定义的四个条件(唯一性、非负性、对称性、三角不等式)的函数都可作为距离公式。
Ø 尝试找出使平方误差最小的聚类个数K,需要用若干个K去尝试。
Ø 将已经聚类的点的均值(质心)作为新的聚类中心
Ø 应用效果:当结果簇是密集的,而簇与簇之间区别明显时,K-Means算法的效果较好。
(1)K-Mediods算法
在K-Means 算法的基础上,K-Mediods算法用簇中靠近中心的一个对象代替该簇。
Ø K-Means算法用质心代替簇,可见K-Means算法对噪声和孤立点数据非常敏感,因为一个离群值会对质心的计算带来很大的影响。
Ø 而K-Mediods算法可有效消除这种影响。
Ø 两种算法的不足:
K-Means 算法 和 K-Mediods算法 只有在簇数据点的平均值有定义的情况下才能使用。
不适合涉及离散属性的数据,即不适合非球状的簇。
例如两本书:
A=(小说,英文,译林出版社) B=(诗歌,中文,人民文学出版社)
PS:
非球状的簇的聚类问题
基于密度的聚类算法 Density-based Method
从数据对象的分布密度出发,把密度足够大的区域连接起来,从而可以发现任意形状的簇,且此类算法还可有效去除噪声。
(3)层次聚类算法 Hierarchical Method
将数据分层建立簇,形成一棵以簇为节点的树。
Aggalomerative 凝聚 自底向上进行层次聚集
首先将每个对象作为一个簇,然后逐渐合并这些簇形成较大的的簇,知道所有对象都在同一簇中,或者满足某个终止条件。
Divisive 分裂法 自顶向下进行层次分解
首先将所有对象置于同一簇中,然后逐渐划分为越来越小的簇,直到每个对象自称一簇,或者达到某个终止条件,例如达到了期望的簇数目,或两个最近的簇之间的距离超过了一定的阈值。
优点:层次方法可以在不同粒度水平上对数据进行探测,容易实现相似度量或距离度量。
缺点:单纯的层次聚类算法终止条件含糊,执行合并或分裂簇的操作不可修正,可能导致聚类结果质量很低。而且需要检查和估算大量对象或簇才能决定簇的合并或分裂,所以可扩展性较差。所以实际解决中,将层次算法和其他聚类算法结合,形成多阶段聚类,能够改善聚类质量。这种方法包括:BRICH、CURE、ROCK、Chameleon等。