大话数据挖掘第一章1.1-1.5
2014-12-19 13:30
211 查看
第1章 揭开数据挖掘的面纱
1、数据挖掘的最高境界就是‘从数据中获取知识,辅助科学决策’。希望通过我们的数据挖掘课程的学习,使你们了解到什么是数据挖掘?它能够干什么?有哪些数据挖掘技术?怎么应用?
沃尔玛的'购物篮分析’后来演变为‘关联规则分析’
2、数据挖掘定义:数据挖掘(DataMining)就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人 们事先不知道的、但又是潜在有用信息和知识的过程。
大量的:实际上数据挖掘的算法大都是建立在统计学大数定律基础上的,数据量太小,常常无法反映出真实世界中的普遍性,这样挖掘算法得出的结论自然不可靠。但并非小数据量就不可以挖掘,近年来研究者也提出了一些对小样本进行挖掘的方法,如支撑向量机方法就是基于小样本学习理论的非常实用的方法。数据量虽小,但数据总是事物特性一定程度的反映,只要建立的模型和算法得当,当然也可以从这些数据中获取一定的信息。也不是说数据量越大越好,随着数据量的增大,算法执行效率会越来越低,甚至无法计算。
有噪声的:由于异常情况的干扰,使我们获得的数据偏离了真实值,这样的数据就是噪音数据。
不完全的:问卷调查时发现不少人不填婚姻状况和年龄,这些不完全的或缺失的数据会给数据挖掘带来一定的难度,我们要么干脆删除这些样本或记录,要么选择使用一定的方法将这些缺失数据补上,或者选择使用可以自动处理缺失数据的算法。
模糊的:模糊性则指事物本身从属概念的不确定性。个子的高矮就是典型的模糊性概念,到底多高才算高。
随机的:随机性是指事件发生与否的不确定性。比如说超市啤酒每天的销量显然是不确定的,大部分人买啤酒是在超市转悠时临时决定的。
3、我们能够收集、存储、处理如此海量的数据,归功于20世纪70年代IBM发明的关系式数据库和SQL查询语言。在此基础上通过计算机和网络进行联机事务处理(OnLine Transaction Processing,OLTP)可以对管理信息进行日常操作并及时、安全、高效地存储数据,这样便引发了数据爆炸式地增长。
数据仓库出现的原因:
OLTP关心的只是业务操作,只对当前数据感兴趣。其实信息处理的目的是为人们提供决策支持,这就需要对历史数据进行大量地分析处理。对历史数据的分析,往往导致系统进行长时间运行,严重影响日常数据实时操作,这就要求把分析性操作及其相关数据从事务处理环境中提取出来,按照决策支持的需要进行重新组织,建立单独的分析环境。
为了满足这种需求,W. H. Inmon 于1993年出版了‘Building the Data Warehouse’,从此数据仓库(DataWarehouse)隆重登场。
数据仓库定义:‘数据仓库是一个面向主题的、集成的、随时间变化的、持久的数据集合,用于支持管理层的决策过程’。在数据仓库产生的同时,联机在线分析(OnLineAnalytical Processing,OLAP)出现了,它是一种具有对数据进行汇集、合并和聚集以及从不同角度观察信息的分析技术。”
4、数据挖掘以数据库中的知识发现(Knowledge Discovery in Database,KDD)。从此以后,数据挖掘(Data Mining)和数据库中的知识发现(KDD)互为别名。
在科研界便继续沿用 KDD 这个术语,而在商用领域,因为‘数据库中的知识发现’显得过于冗长,就普遍采用了更加通俗、简单的术语‘数据挖掘’。
5、数据挖掘的主要功能:
概括地说,数据挖掘的功能主要包括关联分析、聚类分析、分类、回归、时间序列分析和偏差甄别等,下面我们分别介绍这些功能。
6、关联规则挖掘:
关联是指一个事件与另一个事件之间的依赖关系。关联规则挖掘是发掘数据库中的关联关系。
关联(association)规则挖掘,最经典的关联规则算法是1994年提出的Apriori算法。
Apriori算法最基本思想是:
首先从事件中寻找所有频繁出现的事件子集,然后在这些频繁事件子集中发现可信度较高的规则。
7、 聚类:
聚类就是将数据对象划分成若干个类,在同一类中的对象具有较高的相似度,而不同类中的对象差异较大。
两个对象间的距离越小,说明二者越相似,用距离度量对象的相似性是最自然的方法。
聚类的基本思想:
类内数据点越近越好,类间数据点越远越好。
两类经典的聚类算法:
划分方法(Partitioning Method)和层次聚类方法(Hierarchical Method)。
8、两种划分方法:K-means和K-medoids方法
k-Means算法核心思想是把n个数据对象划分为k个类,使每个类中的数据点到该类中心的距离平方和最小。
K-means算法就是尝试找出平方误差函数最小的K个划分,为了找出合适的聚类个数K,一般用若干个K试验,哪个K得到的距离平方和最小,就认为哪个K是最佳的聚类个数。
K-means算法和K-medoids算法区别:
K-means算法:将已聚集的点的均值作为新的聚类中心。对噪声和孤立点非常敏感,因为一个离群值对质心的计算影响很大。
K-medoids算法:以各聚类均值点最近的点作为聚类中心,其他和K-means算法一致,可以有效消除K-means算法的敏感性。
K-means算法和K-medoids算法的应用:
当结果簇是密集的,而簇与簇之间区别明显时,k-means算法的效果较好。对于大规模数据集,该算法是相对可扩展的,并且具有较高的效率。
k-means和k-mediods算法只有在簇数据点的平均值有定义的情况下才能使用,即一般只适用于连续变量,而对于离散属性的变量无法使用;后有改进后的k-模算法,K-模算法用模代替簇的平均值,用新的相异性度量方法来处理分类对象,如基于频率的方法来修改聚类的模。k-means和k-模算法相结合,产生k-原型算法,用了处理有数值类型和分类类型属性的数据。
这两种算法也不适用于发现非球状的簇。对于非球状的簇,要用密度来代替相似性聚类算法,基于密度的聚类算法即Density-based-Method,常见的有DBSCAN、OPTICS、DENCLUE等。
9、 层次方法(Hierarchical Method)的基本思想:按数据分层建立簇,形成一颗以簇为节点的树。如果自底向上进行层次聚集,则称为凝聚的(Aggalomerative)层次聚类;如果自顶向下进行层次分解,则称为分裂法(Divisive)的层次聚类。
层次方法的优缺点:
优点:层次方法可以在不同粒度水平上对数据进行探测,容易实现相似度量或距离度量。
缺点:单纯的层次聚类算法终止条件含糊,执行合并或分裂簇的操作不可修正,可能导致聚类结果质量很低。
而且需要检查和估算大量对象或簇才能决定簇的合并或分裂,所以可扩展性较差。
所以实际解决中,将层次算法和其他聚类算法结合,形成多阶段聚类,能够改善聚类质量。这种方法包括:BRICH、CURE、
ROCK、Chameleon等。
相关文章推荐
- 第一章 例1.1
- 学习《深入理解C#》—— 数据类型、排序和过滤 (第一章1.1---1.2)
- SICP 1.1-1.5
- 编程之美:第一章 1.5快速找出机器故障
- 再读《The C Programming Language》 - 第一章 1.5 字符输入输出
- 第一章 基础设施,1.1 万亿交易量级下的秒级监控(作者:郁松、章邯、程超、癫行)
- 强化学习第二版(翻译)第一章 导论 第五节 拓展例子:井字棋 1.5 An Extended Example: Tic-Tac-Toe
- Ext-core_第一章_1.5
- ajax in active 第一章 1.1 Ajax的第一步
- 第一章 Web MVC简介 —— 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1、We
- LAMP架构搭建与优化(1.1-1.5)
- 1.1 学习之初;1.2 约定;1.3 认识Linux;1.4 创建虚拟机;1.5安装centos7
- POSA2 第一章 并发网络对象(概述与1.1动机)
- 离散数学笔记 第一章 逻辑和证明1.1
- 1.1-1.5
- NHibernate in Action(第一章1.1)
- 读书笔记第一章-第一节 1.1定义数据库和实例
- 【第一章】 C#简介 1.1 Hello World
- 第一章 对象导论 1.5复用具体事项
- 复习4次课(12月1日) 1.1 函数定义 1.2 函数的参数 1.3 函数的默认参数 1.4 函数的变量 1.5 函数的返回值 1.6 多类型传值和冗余参数 1.7 函数的递归调用