浅谈数据挖掘与数据仓库
1数据挖掘
1.1数据挖掘与传统数据分析的区别
数据挖掘与传统的数据分析,如查询、报表、联机应用分析的本质区别是数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先前未知、有效和实用三个特征。即数据挖掘是要发现那些不能靠直觉发现的信息或知识,甚至是违背直觉的信息或知识,挖掘出的信息越出乎意料就可能越有价值。而传统的数据分析趋势为从大型数据库抓取所需数据并使用专属计算机分析软件。因此数据挖掘与传统分析方法有很大的不同。
1.2数据挖掘的应用价值
(1)分类:首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分类的技术,建立分类模型,对于没有分类的数据进行分类。(2)估计:与分类类似,不同之处在于,分类描述的是离散型变量的输出,而估值处理连续值的输出;分类是确定数目的,估计是不确定的。(3)聚类:是对记录分组。聚类和分类的区别是聚集不依赖于预先定义好的类,不需要训练集。中国移动采用先进的数据挖掘工具马克威分析系统,对用户wap上网的行为进行聚类分析,通过客户分群,进行精确营销。(4)关联规则和序列模式的发现:关联是某种事物发生时其他事物会发生的这样一种联系。例如:每天购买啤酒的人也有可能购买香烟,比重有多大,可以通过关联的支持度和可信度来描述。与关联不同,序列是一种纵向的联系。例如:今天银行调整利率,明天股市的变化。(5)预测:通过分类或估值得出模型,该模型用于对未知变量的预言。(6)偏差的检测:对分析对象的少数的、极端的特例的描述,揭示内在的原因。除此之外,在客户分析,运筹和企业资源的优化,异常检测,企业分析模型的管理的方面都有广泛使用价值。
2数据仓库
2.1数据仓库的特征
(1)面向主题(Subject Oriented)的数据集合。数据仓库围绕一些主题如顾客、供应商、产品和销售来组织。数据仓库关注决策者的数据建模与分析,而不是组织机构的日常操作和事务处理。(2)集成(Integrated)的数据集合。数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。(3)时变(Time Variant)的数据集合。数据存储从历史的角度提供信息。数据仓库中的数据通常包含历史信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。(4)非易失(Nonvolatile)的数据集合。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,修改和删除操作很少,通常只需要定期的加载、刷新。数据仓库里的数据通常只需要两种操作:初始化载入和数据访问,因此其数据相对稳定,极少或根本不更新。[page] 2.2数据仓库的类型
数据仓库的类型根据数据仓库所管理的数据类型和它们所解决的企业问题范围,一般可将数据仓库分为下列3种类型:企业数据仓库(EDW)、操作型数据库(ODS)和数据集市(Data Marts)。①企业数据仓库为通用数据仓库,它既含有大量详细的数据,也含有大量累赘的或聚集的数据,这些数据具有不易改变性和面向历史性。此种数据仓库被用来进行涵盖多种企业领域上的战略或战术上的决策。②操作型数据库既可以被用来针对工作数据做决策支持,又可用做将数据加载到数据仓库时的过渡区域。与EDW相比,ODS是面向主题和面向综合的,易变的,仅含有目前的、详细的数据,不含有累计的、历史性的数据。③数据集市是为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据。几组数据集市可以组成一个EDW。
2.3数据仓库与传统数据库的比较
二者的联系既有联系又有区别。数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。二者的区别可以从以下几个方面进行比较:
(1)出发点不同:数据库是面向事务的设计;数据仓库是面向主题设计的。(2)存储的数据不同:数据库一般存储在线交易数据;数据仓库存储的一般是历史数据。(3)设计规则不同:数据库设计是尽量避免冗余,一般采用符合范式的规则来设计;数据仓库在设计是有意引入冗余,采用反范式的方式来设计。(4)提供的功能不同:数据库是为捕获数据而设计,数据仓库是为分析数据而设计。(5)基本元素不同:数据库的基本元素是事实表,数据仓库的基本元素是维度表。(6)容量不同:数据库在基本容量上要比数据仓库小的多。(7)服务对象不同:数据库是为了高效的事务处理而设计的,服务对象为企业业务处理方面的工作人员;数据仓库是为了分析数据进行决策而设计的,服务对象为企业高层决策人员。
3数据仓库与数据挖掘的关系
当然为了数据挖掘你也不必非得建立一个数据仓库,数据仓库不是必需的。建立一个巨大的数据仓库,把各个不同源的数据统一在一起,解决所有的数据冲突问题,然后把所有的数据导到一个数据仓库内,是一项巨大的工程,可能要用几年的时间花上百万的钱才能完成。只是为了数据挖掘,你可以把一个或几个事务数据库导到一个只读的数据库中,就把它当作数据集市,然后在他上面进行数据挖掘。