数据分析与挖掘习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据分析与挖掘习题
第一章作业
1.1什么是数据挖掘?在你的回答中,强调以下问题:
(a) 它是又一个骗局吗?
数据挖掘,在人工智能领域,习惯上又称为数据库中知识发现(Knowledge Discovery in Database, KDD),也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。数据挖掘可以与用户或知识库交互。并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(information retrieval)领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。
(b) 它是一种从数据库,统计学和机器学习发展的技术的简单转换吗?
硬要去区分Data Mining和Statistics的差异其实是没有太大意义的。一般将之定义为Data Mining技术的CART、CHAID或模糊计算等等理论方法,也都是由统计学者根据统计理论所发展衍生,换另一个角度看,Data Mining有相当大的比重是由高等统计学中的多变量分析所支撑。但是为什么Data Mining的出现会引发各领域的广泛注意呢?主要原因在相较于传统统计分析而言,Data Mining有下列几项特性:
1.处理大量实际数据更强势,且无须太专业的统计背景去使用Data Mining的工具
2.数据分析趋势为从大型数据库抓取所需数据并使用专属计算机分析软件,Data Mining 的工具更符合企业需求;
3. 纯就理论的基础点来看,Data Mining和统计分析有应用上的差别,毕竟Data Mining 目的是方便企业终端用户使用而非给统计学家检测用的。
(c) 解释数据库技术发展如何导致数据挖掘
近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等。数据挖掘利用了来自如下一些领域的思想:(1) 来自统计学的抽样、估计和假设检验,(2) 人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。一些其他领域也起到重要的支撑作用。特别地,需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。
(d) 当把数据挖掘看作知识发现过程时,描述数据挖掘所涉及的步骤。
知识发现过程以下三个阶段组成:(1)数据准备,(2)数据挖掘,(3)结果表达和解释。
1.2 给出一个例子,其中数据挖掘对于一种商务的成功至关重要的。这种商务需要什么数据挖掘功能?他们能够由数据查询处理或简单的统计分析来实现吗?
由于统计学基础的建立在计算机的发明和发展之前,所以常用的统计学工具包含很多可以手工实现的方法。因此,对于很多统计学家来说,1000个数据就已经是很大的了。但这个“大”对于英国大的信用卡公司每年350,000,000笔业务或A T&T每天200,000,000个长
途呼叫来说相差太远了。很明显,面对这么多的数据,则需要设计不同于那些“原则上可以用手工实现”的方法。这意味这计算机(正是计算机使得大数据可能实现)对于数据的分析和处理是关键的。分析者直接处理数据将变得不可行。相反,计算机在分析者和数据之间起到了必要的过滤的作用。这也是数据挖掘特别注重准则的另一原因。尽管有必要,把分析者和数据分离开很明显导致了一些关联任务。这里就有一个真正的危险:非预期的模式可能会误导分析者。
在现代统计中计算机是一个重要的工具,并不是因为数据的规模。而是对数据的精确分析方法如bootstrap方法、随机测试,迭代估计方法以及比较适合的复杂的模型正是有了计算机才是可能的。计算机已经使得传统统计模型的视野大大的扩展了,还促进了新工具的飞速发展。
下面来关注一下歪曲数据的非预期的模式出现的可能性。这和数据质量相关。所有数据分析的结论依赖于数据质量。GIGO的意思是垃圾进,垃圾出,它的引用到处可见。一个数据分析者,无论他多聪明,也不可能从垃圾中发现宝石。对于大的数据集,尤其是要发现精细的小型或偏离常规的模型的时候,这个问题尤其突出。当一个人在寻找百万分之一的模型的时候,第二个小数位的偏离就会起作用。一个经验丰富的人对于此类最常见的问题会比较警觉,但出错的可能性太多了。
1.3 数据仓库和数据库有何不同?它们有那些相似之处?
数据库是面向事务的设计,数据仓库是面向主题设计的。
数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。
数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。
单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立A TM了。
显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。
数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。
“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的
“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都