• 1. 数据仓库与数据挖掘 原理及应用
  • 2. 目录数据仓库基础 7. 分类和预测 数据仓库设计和实现 8. 关联分析 数据仓库实例 9. Web挖掘 OLAP和OLAM 10. 数据挖掘实例 5 . 数据挖掘基础 11. 知识 聚类分析 12. 语义网和本体
  • 3. 1 数据仓库基础1.1 引言 1.2 体系结构 1.3 组成 1.4 元数据 1.5 数据粒度 1.6 数据模型 1.7 ETL
  • 4. 1.1 引言 数据仓库定义 数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合。 此定义由最为权威的、被称为“数据仓库之父”的William H. Inmon 先生给出。
  • 5. 面向主题的 是相对于传统数据库的面向应用而言的。所谓面向应用,指的是系统实现过程中主要围绕着一些应用或功能。而面向主题则考虑一个个的问题域,对问题域涉及到的数据和分析数据所采用的功能给予同样的重视。 典型的主题领域 顾客、产品、事务或活动、保险单、索赔和账目。1.1 引言
  • 6. 集成的 数据仓库中的数据来自各个不同的数据源(操作数据库)。由于历史的原因,各操作数据库的组织结构往往是不同的,在这些异构数据输入到数据仓库之前,必须经历一个集成过程。 1.1 引言
  • 7. 集成的 最重要的特点。应用问题的设计人员制定出不同的设计决策,且表示方法不同。例如编码、命名习惯、实际属性和属性度量等方面不一致。 数据进入数据仓库时,需要消除各种不一致性。例如,数据仓库中顾客“性别”的编码,可采用“男/女”或“m/f”,采用哪种方式并不重要,重要的是在数据仓库中应该统一编码。如果应用数据编码为“X/Y”,则进入数据仓库时需要进行转换。 此外,对所有应用所涉及的问题都要考虑一致性。例如命名习惯、键码结构、属性度量以及数据特点等。1.1 引言
  • 8. 与时间相关的 数据仓库以维的形式对数据进行组织,时间维是数据仓库中很重要的一个维度。并且数据仓库中的数据时间跨度大,从几年甚至到几十年,称为历史数据。 1.1 引言
  • 9. 数据仓库中数据随时间变化的特性 数据仓库中的数据时间期限要远远长于操作型数据库中的数据时间期限。操作型数据库的时间期限一般是60~90天,而数据仓库中数据的时间期限通常是5~10年。 操作型数据库含有“当前值”的数据,这些数据的准确性在访问时是有效的,同样当前值的数据能被更新。而数据仓库中的数据仅仅是一系列某一时刻生成的复杂的快照。 操作型数据的键码结构可能包含也可能不包含时间元素,如年、月、日等。而数据仓库的键码结构总是包含某一时间元素。 1.1 引言
  • 10. 不可修改的 面向应用的事务数据库需要对数据进行频繁的插入、更新操作,而对于数据仓库中数据的操作仅限于数据的初始导入和记录查询。 操作型数据是一次访问和处理一个记录,可以对操作型数据库中的数据进行更新。但数据仓库中的数据则不同,通常是一起载入与访问的,在数据仓库环境中并不进行一般意义上的数据更新。 1.1 引言
  • 11. 数据仓库是决策支持系统(Decision Support System,DSS)的基础。 在数据仓库中只有单一集成的数据源,并且数据是可访问的。所以与传统数据库相比,在数据仓库环境中DSS分析员的工作将较为容易。 1.1 引言
  • 12. 演变过程 60年代 数据收集、数据库创建、信息管理系统( IMS )和网络数据库管理系统(Network DBMS) 70年代 关系数据模型以及关系型DBMS1.1 引言
  • 13. 演变过程 80年代至今 高级数据模型 (具有扩充关系的, 面向对象的, 演绎的等等) 和 面向应用的 DBMS (空间的, 科学的, 工程的等等) 90年代至今 数据挖掘和数据仓库,多媒体数据库和Web数据库。 1.1 引言
  • 14. (本页无文本内容)
  • 15. 演变过程 在20世纪70年代之前,数据一般存储在文件中,由应用程序直接管理;之后有了简单的数据收集和数据库的构造;后来发展到对数据的管理,包括数据存储、检索以及数据库事务处理;再后来发展到对数据的分析和理解,这时候出现了数据仓库技术和数据挖掘技术。数据挖掘使数据库技术进入了一个更高级的阶段,它不仅能对过去的数据进行查询和遍历,并且能够找出过去数据之间的潜在联系,并且能够预测未来的数据。 1.1 引言
  • 16. 数据仓库与数据库的关系 到目前为止,数据仓库在国外已经发展了十几年的时间。在国内,虽然起步较晚,但发展较为迅速。 目前有很多的大公司或企业正在建或计划建设不同规模的数据仓库和数据集市。 1.1 引言
  • 17. 数据仓库与数据库的关系 数据仓库建立在传统事务型数据库的基础之上,为企业决策支持系统、OLAP及数据挖掘系统提供数据源。1.1 引言
  • 18. 数据仓库与数据库的关系 数据库的应用包括:事务型应用和分析型应用 物理数据库实际存储的数据包括: 事务型数据(或称操作数据)和分析型数据(也可称为汇总数据、信息数据)。 起初,两类数据放到一起,即分散存储在各底层的业务数据库中。 后来,随着企业规模的扩展、数据量的增加、以及希望在决策分析时得到更多支持需求的日益迫切,并且考虑保证原有事务数据库的高效性与安全性。因此将分析型数据与事务型数据相分离,单独存放,即形成了所谓的数据仓库。 1.1 引言
  • 19. 数据仓库与数据库的关系 数据仓库只不过是因为用户需求增加而对某一类数据库应用的一个范围的界定。单就其是数据的存储容器这一点而言,数据仓库与数据库并没有本质的区别。 而且在更多的时候,我们是将数据仓库作为一个数据库应用系统来看待的。 因此,不应该说数据库到数据仓库是技术的进步。 1.1 引言
  • 20. 数据库与数据仓库的区别    业务数据库 数据仓库 内容 与业务相关的数据 与决策相关的信息 数据模型 关系、层次结构的 关系的/多维的 访问 经常是随机的读写操作 经常是只读操作 负载事务处理量大、但每个事务涉及的记录数较少 查询量少,但每次要查询大量的记录 事务输出量一般很少 可能非常大 停机时间 可能意味着灾难性错误 可能意味着延迟决策
  • 21. 数据库的局限性 传统数据库所能做到的只是对已有的数据进行存取以及简单的查询统计,即使是一些流行的OLAP工具,也无非是另一种数据展示方式而已。人们仍然无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。这也直接导致了目前“数据爆炸但知识匮乏”的现状。 1.1 引言
  • 22. 1.2 体系结构二层体系结构
  • 23. 1.2 体系结构三层体系结构
  • 24. 1.3 数据仓库组成一个数据仓库的大小一般都是在100GB以上 通常,数据仓库系统应该包含下列程序: (1)抽取数据与加载数据 (2)整理并转换数据(采用一种数据仓库适用的数据格式) (3)备份与备存数据 (4)管理所有查询(即将查询导向适当的数据源 )
  • 25. 1.3 数据仓库组成
  • 26. 数据仓库的管理器加载管理器 执行程序:抽取与加载程序 功能:抽取并加载数据、在加载数据之前与进行中执行简单的转换 仓库管理器 执行程序:数据整理与转换程序、备份与备存程序 功能:转换并管理数据仓库数据、备份与备存数据 查询管理器 执行程序:查询管理程序 功能:引导并管理数据仓库的查询
  • 27. 加载管理器功能 支持数据抽取与加载 实现途径 (1)外购的软件工具 (2)针对特殊要求而编写程序、存储过程以及脚本文件
  • 28. 加载管理器
  • 29. 加载管理器 建议 用户尽量选用适合的软件工具来协助进行整个加载管理的工作; 但是,因为源数据的特性存在很大的差异,数据仓库中加载管理器的功能无法一致,所以不可能完全使用外购的软件工具,而必须自行设计针对特殊需要而编写的程序、存储过程或是脚本文件。
  • 30. 加载管理器的具体功能 抽取来自源系统的数据 将抽取的数据快速加载临时保存介质 执行简单的数据转换任务 将转换后数据加载至与数据仓库类似的数据结构之中
  • 31. 仓库管理器功能 执行管理一个数据仓库所需的必要程序 实现途径 (1)外购的系统管理工具 (2)针对特殊需要而编写的程序以及脚本文件 复杂度 因自动化的程度而异
  • 32. 仓库管理器
  • 33. 仓库管理器的具体功能检验各字段相互之间的关系与一致性 将临时保在存储介质中的数据转换与合并,然后加载至数据仓库 对数据仓库数据添加索引、视图、数据分区 根据需要进行数据的标准化 根据需要生成新的集合信息 更新已有的集合信息 备份数据仓库(完整或是递增式) 备存数据仓库中过时的数据(另存至其它存储介质)
  • 34. 查询管理器功能 执行管理数据仓库系统中所有查询工作的相关处理程序。 实现途径 (1)外购调度软件 (2)使用用户存取工具 (3)数据仓库系统所提供的系统监控工具 (4)数据库管理系统所提供的管理工具 (5)针对特殊需要而编写程序以及脚本文件 复杂度 视数据仓库系统而定。
  • 35. 查询管理器
  • 36. 查询管理器的具体功能将查询引导至正确的表 实现客户查询的调度 查询管理器将把查询统计分析的结果存入查询概述文件,供仓库管理器使用,以决定为哪些项目执行数据集合的工作。
  • 37. 1.4 元数据 定义 元数据(Metadata)是关于数据的数据。 在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库开发人员非常方便地找到他们所需的数据;元数据是描述数据仓库中数据结构和构建方法的数据。
  • 38. 1.4 元数据 分类 按照用途的不同分为技术元数据(Technical Metadata)和业务元数据(Business Metadata)两大类。 -技术元数据存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,它保证了数据仓库系统的正常运行; -业务元数据从业务角度描述数据仓库中的数据,它提供介于使用者和实际系统之间的语义层,使得数据仓库使用人员能够“读懂”数据仓库中的数据。
  • 39. 1.5 数据粒度 定义 粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大。 粒度深深地影响存放在数据仓库中数据量的大小,同时影响数据仓库所能回答的查询类型。 在数据仓库中的数据粒度与查询的详细程度之间要做出权衡。
  • 40. 1.5 数据粒度 当提高粒度级别时,数据所能回答查询的能力会随之降低。换言之,在一个很低的粒度级别上,几乎可以回答任何问题,但在高粒度级别上,数据所能处理的问题的数量是有限的。
  • 41. 左图是一个低粒度级,每个活动(在这里是一次电话)被详细记录下来,数据的格式如图所示。到月底每个顾客平均有200条记录(全月中每个电话都记录一次),因而总共需要40000个字节; 右图的边是一个高粒度级。数据代表一位顾客一个月的综合信息,每位顾客一个月只有一个记录,这样的记录大约只需200个字节。
  • 42. 问题:“上星期某某顾客是否给某某人打了电话?” 在低粒度级别上,完全可以回答这一问题,虽然这种回答将花费大量资源去查询大量的记录,但是问题结果是可以确定的。 在高粒度级别上,则无法明确地回答这个问题。假如在数据仓库中存放的只是所打电话的总数,那么就无法确定其中是否有一个电话是打给某人的。
  • 43. 1.6 数据模型 数据模型是对现实世界的一种抽象,根据抽象程度的不同,可形成不同抽象层次上的数据模型。与数据库的数据模型相类似,数据仓库的数据模型也分为三个层次: 概念模型 逻辑模型 物理模型
  • 44. 概念模型 客观世界到计算机系统的一个中间层次,它最常用的表示方法是E-R法(实体-关系)。 目前,数据仓库一般是建立在关系型数据库的基础之上,所以其概念模型与一般关系型数据库采用的概念模型相一致。 1.6 数据模型
  • 45. 逻辑模型 指数据的逻辑结构,如多维模型、关系模型、层次模型等。数据仓库的逻辑模型描述了数据仓库的主题的逻辑实现,即每个主题对应的模式定义。 1.6 数据模型
  • 46. 物理模型 是逻辑模型的具体实现,如物理存取方式、数据存储结构、数据存放位置以及存储分配等。在设计数据仓库的物理模型时,需要考虑一些提高性能的技术,如表分区,建立索引等。 1.6 数据模型
  • 47. 目前,对数据仓库模型的讨论大多集中在逻辑模型,其中最常用的是多维模型。 维 人们观察数据的特定角度。例如,企业常常关心不同销售数据随时间的变化情况,所以时间就是一个维; 维的层次 人们观察数据的某个特定角度还可以存在细节程度不同的多个描述,这就是维的层次。一个维往往有多个层次,比如描述时间维时,可以从年份、季度、月份、天等不同层次来描述,那么年份、季度、月份和天就是时间维的层次; 1.6 数据模型
  • 48. 维成员 维的一个取值称为该维的一个成员。如果一个维是多层次的,那么该维的成员就是在不同层次取值的组合。例如时间维分为年、月和天三个层次则分别在其上各取一个值组合起来即得到日期维的一个成员,即“某年某月某日”; 度量 描述了要分析的数值,例如话费、用户数量等; 1.6 数据模型
  • 49. 数据仓库的数据模型 星型结构 雪花型结构 星型雪花型结构 数据仓库的数据=事实数据+维度数据 不论是星型、雪花型或者是星型雪花型结构都是以事实表为中心。不同点只是在外围维度表相互之间的关系不同而已。 1.6 数据模型
  • 50. 星型架构的维度表只会与事实表生成关系,维度表与维度表之间并不会生成任何的关系。 雪花型架构描述可合并在一起使用的维度数据。 1.6 数据模型
  • 51. 星型结构的实例time_key day day_of_the_week month quarter yeartimelocation_key street city province_or_street countrylocationSales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_key item_name brand type supplier_typeitembranch_key branch_name branch_typebranch
  • 52. 雪花结构的实例time_key day day_of_the_week month quarter yeartimelocation_key street city_keylocationSales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_key item_name brand type supplier_keyitembranch_key branch_name branch_typebranchsupplier_key supplier_typesuppliercity_key city province_or_street countrycity
  • 53. 星型雪花型结构的实例time_key day day_of_the_week month quarter yeartimelocation_key street city province_or_street countrylocationSales Fact Tabletime_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_key item_name brand type supplier_typeitembranch_key branch_name branch_typebranchShipping Fact Tabletime_key item_key shipper_key from_location to_location dollars_cost units_shippedshipper_key shipper_name location_key shipper_typeshipper
  • 54. 将原来业务系统的数据经过抽取、转换、加载到数据仓库所在的中心存储库的过程称为ETL (Extraction, Transformation and Loading)过程,制定这个过程的策略称之为ETL策略,而完成ETL过程的工具则是ETL工具。相对于数据仓库中的表而言,业务系统数据库中的表称为源表,业务系统数据库称为源数据库,数据仓库中所有的数据都来自于业务系统数据库。在打造一个数据仓库的过程中,ETL的实施是一项繁琐、冗长而艰巨的任务,因为它关系到数据仓库中数据的质量问题,如果导入的数据漏洞百出,对决策者来说无疑是个噩耗。 ETL过程是搭建“数据仓库”时最重要的和最易误解的步骤之一。1.7 ETL
  • 55. ETL过程不仅仅是数据的迁移(Migration)或净化(Cleansing),也应该是企业数据管理策略中不可缺少的一部分。 ETL过程的功能是:发现数据仓库需要的数据,将其从源系统中抽取出来,并进行一定的处理,然后装载到数据仓库中去。 1.7 ETL
  • 56. ETL功能-提高数据质量数据清洁 补充缺失值,平滑噪声数据,识别与删除异常数据以及有效解决数据的一致性问题 数据集成 多个数据库、数据立方体或文件的数据整合 数据转换 实现数据的归一化 数据简化 在不影响分析结果的前提下,缩减数据量 数据离散化 对于数值型数据可通过取样实现离散化以降低数据量
  • 57. ETL功能-提高数据质量
  • 58. ETL功能-搭建数据仓库现有数据的特点 分散的 非整合的 难以访问的 多种的数据源 多种的平台 低劣的数据质量 冗余的数据 难于理解 不能分析 数据量很大,甚至是海量的Legacy ApplicationsVSAMIDMSIMSCICSCOBOLMultimediaDocumentsERP ApplicationsGroupwareDatabasesWebOperational Activities
  • 59. ETL功能-搭建数据仓库“数据仓库”中的信息为战略经营提供决策支持 整合的 便于多维分析和报表 根据历史信息预测未来的发展趋势Warehouse Storage Data WarehouseODSWarehouse Delivery & Access
  • 60. ETL功能-搭建数据仓库本质上,ETL过程完成了将“生数据”(Raw Data)转化为“信息”(Information)的过程,即传递有用的数据至数据仓库(中央数据库)中; -首先是从各种操作型数据源中抽取“有用”的数据; -然后,将操作型数据转换成“具有战略意义”的信息; -最后,将“具有战略意义”的信息装载到数据仓库中,以备决策支持使用。Data AcquisitionTransformationIntegrationStaging
  • 61. 提高数据质量 提供一种统一的、跨平台的存取数据方法 将数据“信息化”,为企业决策者的经营分析提供信息来源 1.7 ETL
  • 62. ETL的流程抽取 转换/清洁 装载 数据仓库 临时存储区 数据源 抽取转换 /清洁装载All driven by metadata
  • 63. ETL的流程(1)预处理。这是正式开始作业之前的准备工作,包括清空工作区、检查过渡/准备区。如果需要直接访问操作型数据源系统时,要检查远程数据库服务器状态,并核对目标区数据加载状态,以核算出加载作业的参数,如加载数据的时间间隔和范围(是24小时的数据,还是前3天的数据)。 (2)启动数据加载的批作业。
  • 64. ETL的流程(3)因为维度表有事实表所参照的主键,所以要先完成对维表的加载,生成维表主键,并作为以后加载事实表所需要的外键。在加载维表时,有时要处理好缓慢变化的维的问题,并可能涉及到版本号的处理问题。 (4)加载事实表。这中间也涉及到键查找的问题,即从有关维表中找到相应的主键,并以此作事实表的外键。
  • 65. ETL的流程(5)事实表加载完成后,再对总计方阵体系进行刷新,以保障总计方阵与它的基础数据同步。 (6)应设计具有完善的出错处理机制和作业控制日志系统,以监测和协调整个加载的过程。
  • 66. ETL流程-数据抽取 数据提取是ETL处理的首要部分,解决的主要问题是确定需要提取的数据,并确定适当的提取方式。 指从一个或多个源数据库中通过记录选取进行数据复制的过程。抽取过程将记录写入ODS(Operational Data Store)或者临时区(Staging Area)以备进一步处理。
  • 67. ETL流程-数据抽取预抽取 识别数据(Formal;Informal) 元数据(Metadata) 元数据定义(实体、记录、数据项、模型、主键、外键) 源应用系统(操作系统、DBMS、位置) 更新的频率 数据(交易)量 源数据的拥有者(IS管理员、经营部门主管) 业务含义描述 可靠性、完整性评估(通过浏览数据)
  • 68. ETL流程-数据抽取后台技术结构(Back Room Tech Architecture) 单文件系统——平面文件、COBOL、VSAM… 早期的DBMSs——IMS,IDMS,Adabas,Mark IV,… 第三方应用软件 ERP系统——一些已经具有数据仓库能力,但很有限 企业报表系统——很难回溯到原始数据 ODS——操作型数据存储(Part of DW/not part of DW,最细粒度、面向主题、整合的、经常新增交易数据、企业视点、星型模型)
  • 69. ETL流程-数据抽取预抽取(续) 选择数据源(原则) 可访问性 操作型活动的最近阶段 最接近真实的数据(不是派生的) 与新开发的OLTP系统一致 注意:任何没有被选中的数据源,应该记录原因 分析源数据 理解源系统的元数据(数据字典) 业务规则获取( Business Rule Capture )
  • 70. ETL流程-数据抽取数据抽取策略(从操作型DBs到DW): 陈旧的存档数据 少见;保险公司;危险品公司 现存于操作型环境中的全部数据 只获取与上一次抽取相比更新的数据 时间戳(time-stamped) DELTA 文件 日志文件 触发器 比较两次数据库快照(Snapshot)
  • 71. ETL流程-数据抽取 其中最重要的是变化数据捕获(Change Data Capture, CDC )。有几种方法实现CDC:时间戳、读取RDBMS系统的日志文件、使用源系统中的触发器或者自己开发CDC程序来检查日志文件。 使用时间戳是最简单的,也是相当普遍的方法。前提是所有的源表都有时间戳。 例如:超市的业务系统数据库中几乎每个表都保障有“插入记录日期”、“更新记录日期”两个字段。这是规范数据库的一个基本标准。
  • 72. 数据抽取的实现 在多数情况下,数据源系统与数据仓库并不处于同一个数据服务器中,它们往往是独立的,并处在远程系统中。数据的提取往往是以远程的、分布式的提取模式进行,并涉及各种各样的方法和手段,其中包括: (1)应用SQL*Plus提取到文本文件; (2)应用OCI or Pro*C程序,或者Oracle UTIL_FILE提取到文本文件; (3)应用Oracle Export Utility实用程序提取到Oracle Export Files文件;
  • 73. 数据抽取的实现(4)远程数据复制 (5)信息流
  • 74. ETL流程-数据转换数据转换 将抽取出的数据进行过滤、合并、解码、翻译等转换,为数据仓库创建有效数据的过程。 一旦数据抽取或选取过程完成,就要设计并确定转换规则(Business Rules)应用于已抽取出的数据 转换过程需要理解业务侧重点(Business Focus)、信息需求(Informational Needs)和目前可用的源数据(Available Sources)。
  • 75. ETL流程-数据转换转换规则 字段级的 数据类型转换 增加“上下文”数据 如,时间戳 解码(Decoding)如,将数值型的地域编码替换成地域名称 清洁和净化 保留字段具有特定值或特定范围的记录 引用完整性检查 去除重复记录
  • 76. ETL流程-数据转换转换规则 多数据源整合 字段映射(Mapping) 代码变换(Transposing)—将不同数据源中的数据值规范成数据仓库数据值。例如,将原系统非英文编码转换成数据仓库英文编码;将原系统信息编码转换成数据仓库信息编码等。 合并(Merging)—将两个或更多个源系统记录合并为一个输出或“目标”记录 派生(Derivations)—根据源数据,利用数学公式产生数据仓库需要的数据。例如,由身份证号码计算出出生日期、性别、年龄等。 聚合(Aggregation)和汇总(Summarization) Detail > light agg/sum > levels of rollups > more agg/sum
  • 77. ETL流程-数据清洁 数据仓库中必须存放“优质数据”(Quality Data)——符合一致性的、大家公认或经过验证是有价值的,并符合元数据定义的。清洁功能能够检测出那些违反规则的数据,一旦发现要么抛弃,要么将其转换成“清洁”数据,使其符合规则,然后装载到数据仓库中。
  • 78. ETL流程-数据清洁 来自操作型数据源的数据如果含有不洁的成分和不规范的格式,将对数据仓库的建立维护,特别是对联机分析处理的使用,造成很多问题和麻烦。这时必须在ETL处理过程中加以解决,通常包括以下处理方法: a. 设计拼写检查、分类并与标准值表对照检查 b. 处理名字和地址 c.为名字和地址建立辅助表格或联机字典,据此进行检查修正 d.数据转换函数以及子程序库
  • 79. ETL流程-数据清洁“脏”数据(Dirty Data) 数据不符合一致性 用数据库设计工具定义Checks,Validation Criteria,Integrity Constrains 数据库设计者不是很清楚DBMS 删除了“约束”,因为它们会降低操作性能 使用一些特定代码、标志或“哑元”(Dummy values) 多目标域(Fields)—某域依赖其他域,但不一致 ……
  • 80. ETL流程-数据清洁“脏”数据的清洁包括三个层次: 数据源、应用层的数据清洁(实现起来困难) 整合与转换层的数据清洁 元素化—剖析成原子数据 标准化每个元素值的表达 验证标准化后的元素值是否满足一致性 数据仓库内部的数据清洁 通常,上述三种方式联合使用,以获得高效性。
  • 81. ETL流程-数据清洁保障数据清洁顺利进行的原则 首先,对数据清洁流程进行分析和系统化的设计, 其次,针对数据的主要问题和特征,设计一系列数据对照表和数据清洗程序库。 两者的有效组合,可以面对不断变化的、形形色色的数据清洁问题。
  • 82. ETL流程-数据清洁数据清洁的过程 (1)预处理:对于大的数据加载文件(特别是新的文件和数据集体)进行预先诊断和检测,不能贸然加载。有时需要临时编写诊断小程序,称作“小狗”,它会用鼻子闻一闻这个庞然大物(不知底细的文件),以进行卫生检查; (2)标准化处理:应用建于数据仓库内部的标准字典,对于地区名、人名、公司名、产品名、品类名进行标准化处理; (3)查重:应用各种数据查询手段,避免引入重复数据; (4)出错处理和修正:将出错的记录和数据写入到日志文件,留待进一步处理。
  • 83. ETL流程-数据装载装载过程 将转换/清洁后的数据装载到企业数据仓库中。 在完成数据提取和转换/清洁后,接下来是将数据加载到数据仓库中。在进行数据加载时,可供选用的实用程序和工具很多,可选择最基本的Import、SQL Loader 和 SQL语言进行必要的转换。 为了提高程序和实用过程的复用性,编制和设计数据转换的函数库/子程序库是十分必要的。
  • 84. ETL流程-数据装载使用装载工具或数据查询语言(SQL) 效率问题 避免违反约束关系,注意装载顺序
  • 85. ETL流程-数据装载 转换的工作虽然较为繁琐,但却是三个步骤中最简单的。 许多ETL工具都提供了强大的转换功能。例如DTS中有:复制字段转换、小写字符串转换、大写字符串转换、中间字符串转换、剪裁字符串转换、日期时间字符串转换、读取文件转换、写入文件转换和ActiveX 脚本转换等。 在这些转换操作中,最常用的是ActiveX 脚本转换,因为它允许自行撰写VBScript或Jscript将原始字段中的数据转换至目标字段中的数据。 实际上,如果前述的各种转换都无法满足需求时,则ActiveX 脚本转换将是最终的选择。
  • 86. ETL技术DTS (Microsoft SQL Server) 逻辑上,实现ETL过程有3种策略 远程抽取(Remote Extraction) 推(Push) 拉(Pull) 并行技术(Parallelism) 数据堆装载(Data Bulk Load)
  • 87. ETL技术-DTS SQL Server的数据转换服务(Data Transformation Services,简写为DTS)提供了一套基于OLE DB的COM对象,使用VBScript、PerlScript 或 Microsoft Jscript 脚本描述语言创建数据转换程序,可以实现不同OLE DB数据源之间的数据转换操作。
  • 88. ETL实现方法远程抽取 ETL过程是在一个独立的远程平台上进行的。 受数据源现有系统或目标仓库结构的影响最小。 几乎不影响源和目标系统的CPU和容量。 可能会提高成本;对网络带宽要求较高。 “Push” 在现有系统环境中开展ETL过程 当现有系统具有相当充裕的容量,而且不会超越CPU处理限度时,经常采用这种方法 现有系统是同构的,经常采用这种方式
  • 89. ETL实现方法“Pull”(Collocation) ETL过程在“仓库”端进行 当现有系统是异构时,经常采用 当“仓库”端平台具有必需的性能和容量时,会体现一定优势。 由于“仓库”不断增长,可能需要制定长期策略 (1)高速装载:在内存中;通过本地文件系统通信;有限的输入/输出请求 (2)保留带宽:避免了访问网络,使得其它依赖于网络的应用不受任何影响。
  • 90. ETL的实现方法并行技术(Parallelism) 多线程服务器端软件 多处理器(SMP) 数据堆装载(Data Bulk Load) “堆”是最快的数据装载方式 数据库中有堆装载器,ETL也支持该功能 避免使用“插入”或“更新”操作,避免采用ODBC
  • 91. ETL工具协助完成ETL过程开发的工具称作ETL或ETLM工具。它们可以标准化ETL过程开发,使运行和正在进行的维护过程提高效率。 Design Studio(Sagent公司) Decision Stream(Cognos公司) ……
  • 92. 2 数据仓库设计和实现 2.1 数据仓库设计 2.2 ETL设计 2.3 数据仓库实现
  • 93. (1)确定数据仓库的主题 根据电信业务和电信运营的需求,电信公司涉及的最主要的三个主题是: 客户发展 收益分析 呼叫特性分析 2.1 数据仓库设计
  • 94. 客户发展 主要是对客户群体进行分类后,从不同的角度展现电信公司提供服务的客户数量情况。划分的角度可以按照客户本身的自然属性,例如客户本身的自然属性,例如客户性别、年龄、客户入网的时间、客户的类型(公费、私人等)、客户受教育的程度等。2.1 数据仓库设计
  • 95. 收益分析 收益分析主要是通过不同的角度对电信企业的收益情况进行分析。收益分析的角度可以按照客户的自然属性和扩展属性划分;也可以按照电信公司的业务运(品牌、交费方式)进行划分;还可以按照机构设置、地理角度对收益进行划分。 2.1 数据仓库设计
  • 96. 呼叫特性分析 呼叫特性分析即分析不同类型客户在呼叫上所具有的特性,特性可能包括下列衡量指标: 2.1 数据仓库设计
  • 97. 按照呼叫时间划分为:成长呼叫、中呼叫和短呼叫 按照呼叫类型可划分为:本地通话、长途通话、漫游通话。(其中长途又可以划分成国际长途、国内长途;漫游通话可划分成省内、省际、国内漫游等等) 按照呼叫金额可以划分为:高额呼叫和非高额呼叫 按照呼叫所在地区域考察呼叫的热点区域2.1 数据仓库设计
  • 98. (2)数据仓库模型的设计——可用的数据 例如,要完成客户发展、收益分析、呼叫特性分析三个主题,下列三部分信息是必要的,即: 客户的基本信息表 客户的账单信息表 客户的呼叫信息表 2.1 数据仓库设计
  • 99. 客户基本信息表的常见字段客户基本信息表字段客户识别码客户号码客户类别客户信用度客户姓名客户通信地址客户身份证号客户联系电话客户邮编客户归属局通信费支付方式开户日期
  • 100. 客户帐单信息表的常见字段客户账单字段 客户号码月租费附加功能费本地话费省内漫游费省际漫游费国际漫游费账单金额短信费滞纳金金额总话费付款方式
  • 101. 呼叫信息表的常见字段客户呼叫信息表字段呼叫类型IMSI号主叫号码被叫号码通话开始时间通话时长基本通话费基本通话附加费长途费长度附加费通话位置漫游类型
  • 102. (2)数据仓库模型的设计——粒度的确定 在数据仓库设计中,最重要的步骤是确定数据的粒度。 单一粒度 对于客户基本信息表,由于它属于增长较为缓慢的信息(随着客户数量的增长,客户业务信息的变更表会增长),可以使用单一的数据粒度。 2.1 数据仓库设计
  • 103. 粒度的确定 如果客户数量很大,每个月生成一张客户信息表将浪费大量的空间,因为只有客户信息变化了或者新增加了客户,才需要修改原先的客户信息表。增加一个“当前标志”字段,用于表示客户的当前信息,并选择“数据变更日期”作为时间字段。
  • 104. 客户识别码 客户号码 客户类别 客户信用度 客户姓名 客户通信地址 客户身份证号 客户联系电话 客户邮编 客户归属局 通信费支付方式 开户日期客户识别码 数据变更日期 当前标志 客户号码 客户类别 客户信用度 客户姓名 客户通信地址 客户身份证号 客户联系电话 客户邮编 客户归属局 通信费支付方式 开户日期使用单一粒度的客户基本信息表
  • 105. 粒度的确定 对于客户的账务信息表,每个月一个客户号码只在账务信息中对应一条记录,因此数据本身就带有一定的综合性,可以采用单一的数据粒度。
  • 106. 客户账单字段 月份 客户号码 月租费 附加功能费 本地话费 省内漫游费 省际漫游费 国际漫游费 账单金额 短信费 滞纳金金额 总话费 付款方式客户账单字段 月份 客户号码 月租费 附加功能费 本地话费 省内漫游费 省际漫游费 国际漫游费 账单金额 短信费 滞纳金金额 总话费 付款方式使用单一粒度的客户帐务信息表
  • 107. 粒度的确定 双重粒度 呼叫/计费数据是电信公司中数据量最大的部分,对于一个客户的一次通话(无论是主叫还是被叫,因为一次通话实际上将生成主叫、被叫两条记录),在呼叫表中都将出现一个通话记录,因此对于一个大型电信公司,其呼叫/计费数据的数据量非常大,所以采用双重粒度来记载呼叫/计费数据。 对于近3-4个月的细节呼叫/计费数据,保留在数据仓库中,并定期聚合成按月综合的数据,然后将细节数据导出,另外保存,为新的细节数据腾出足够的空间。
  • 108. 呼叫类型 IMSI号 主叫号码 被叫号码 通话开始时间 通话时长 基本通话费 基本通话附加费 长途费 长度附加费 通话位置 漫游类型 IMSI号 主叫号码 被叫号码 通话开始时间 通话时长 基本通话费 基本通话附加费 长途费 长度附加费 通话位置 漫游类型客户呼叫信息表字段 呼叫类型 IMSI号 主叫号码 被叫号码 通话开始时间 通话时长 基本通话费 基本通话附加费 长途费 长度附加费 通话位置 漫游类型按月综合的数据 最近3个月的细节数据 3个月之前的细节数据 其它空间 使用双重粒度的呼叫信息
  • 109. (2)数据仓库模型的设计—— OLAP模型的设计 针对每一个主题确定其需要的维度和度量变量,然后为每一个主题定义关系模式,从而形成一个星型结构,在这个星型结构的基础上,可以生成多维数据表,建立多维数据库。 以客户信息主题为例,客户信息主题的维度设计书如下: 2.1 数据仓库设计
  • 110. 数据提取-转换-加载随着应用和系统环境的不同而具有不同的特点。一般而言,总包括下面的处理过程: a.预处理 正式开始作业之前的准备工作,包括清空工作区、检查过渡/准备区。如果需要直接访问操作型数据源系统时,要检查远程数据库服务器状态,并核对目标区数据加载状态,以核算出加载作业的参数,如加载数据的时间间隔和范围(24小时的数据,还是前3天的数据)。 2.2 ETL设计
  • 111. b.启动数据加载的批作业 c.因为维度表有事实表所参照的主键,所以要先完成对维表的加载,生成维表主键,并作为以后加载事实表所需要的外键。在加载维表中,有时要处理好缓慢变化的维的问题,并可能涉及到版号的处理问题。2.2 ETL设计
  • 112. d. 加载事实表 这中间也涉及到键查找的问题,即从有关维表中找到相应的主键,并以此作事实表的外键。 e.事实表加载完成后,再对总计方阵体系进行刷新,以保障总计方阵与它的基础数据同步。 f.设计具有完善的出错处理机制和作业控制日志系统,用以监测和协调整个加载的过程。 2.2 ETL设计
  • 113. 抽取数据到临时数据区 数据仓库的数据源不是来自终端客户每天输入的数据,而是主要来自企业的OLTP系统数据。 2.3 数据仓库实现
  • 114. 抽取数据到临时数据区的好处简单电信数据仓库的数据库工具采用微软公司的SQL Server 2000,在将其数据加载到数据仓库前,需先将OLTP系统的数据抽取到一个临时数据区,并在临时数据区进行数据清理和校验工作,待数据正确无误后,再加载到数据仓库,以保证数据质量。这是采用临时数据区的一个好处。 临时数据区事实上就是一个数据库,此数据库作为数据仓库的数据源,数据仓库直接从临时数据区加载数据,从而避开OLTP系统,这样就避免了OLTP系统和数据仓库系统之间处理上的冲突,避免了OLTP系统因数据抽取而影响其响应时间的问题。这是采用临时数据区的另外一个好处。
  • 115. 临时数据区暂存将要加载到数据仓库的维度数据和事实数据,它利用关系表映射数据仓库的星型和雪花架构。因为系统是建立在SQL Server 2000数据库工具基础上,所以从OLTP系统抽取数据时,必然会用到存储过程以及脚本文件。2.3 数据仓库实现
  • 116. 加载数据到数据仓库的具体步骤 设定数据库和数据源 建立多维数据集 设计存储和处理多维数据集 为多维数据集创立分区2.3 数据仓库实现
  • 117. 企业级数据仓库的实现途径 从建造某个部门特定的数据集市开始,逐步扩充数据仓库所包含的主题和范围,最后形成一个能够完全反映企业全貌的企业级数据仓库; 从一开始就从企业的整体来考虑数据仓库的主题和实施。 2.3 数据仓库实现
  • 118. 第一种方法类似于软件工程中“自底向上”的方法,投资少、周期短且易于见到成果,但由于该设计开始时是以特定的部门级主题为框架的,向其他的主题和部门扩充往往比较困难; 第二种方法与第一种相反,即“自顶向下”的方法,投资大、周期长。实际中大多采用第一种方法。 2.3 数据仓库实现
  • 119. “自底向上”地建立数据仓库,并不意味着不需要在设计阶段的长远规划。采用逐步积累的方式建立数据仓库,其最大的问题是已有的框架无法把新的业务集成进来。因此在设计阶段就必须充分考虑到这一点。例如,部门级的主题是否有助于形成企业级的主题,数据加载模块是否能够重用等等。数据仓库的长远规划,并不仅仅是技术部门的事情,应当把数据仓库的构建作为企业发展战略的一个组成部分。在设计阶段需要不同部门的沟通和协调,技术框架和系统设计必须从整个企业的角度来考虑,即使刚开始实施的时候是面向某个部门的。从这一点来看,建立一个企业级的数据仓库,主要的障碍不是技术,而是不同部门之间组织、协调的问题。2.3 数据仓库实现
  • 120. 3 数据仓库实例 3.1 实例一 3.2 实例二
  • 121. 5.1 实例一模型名称:客户资料 模块功能:用于客户数量的分析以及客户属性的分析 事实表:客户资料事实表 度量:客户数量 数据粒度: 每个客户每月计算一次收益,事实表中每条记录表示一个客户的属性。 事实表中存放1年以内的数据,超过10年的数据按月进行滚动,最初的数据汇总后从事实表中导出。 相关维度: 客户详细资料维 客户性别维 客户年龄层次维 客户在网时间维 客户消费层次维 客户信用度层次维 是否大客户维 缴费类型维 地域维 10. 客户流失概率层次维 11. 客户挽留价值层次维 12. 成为大客户概率层次维
  • 122. 5.2 实例二
  • 123. 4 OLAP和OLAM 4.1 OLAP 4.2 OLAM
  • 124. OLAP定义 60年代,关系数据库之父E.F.Codd提出了关系模型,促进了联机事务处理 (OLTP)的发展(数据以表格的形式而非文件方式存储)。 1993年,E.F.Codd提出了OLAP概念,认为OLTP已不能满足终端客户对数据库查询分析的需要,SQL对大型数据库的简单查询也不能满足终端客户分析的要求。客户的决策分析需要对关系数据库进行大量计算才能获得结果,而查询的结果并不能满足决策者提出的需求。因此,E.F.Codd提出了多维数据库和多维分析的概念,即OLAP。4.1 OLAP
  • 125. OLAP(On-Line Analysis Processing)定义 是数据仓库上的分析展示工具,它建立在数据多维视图的基础上。 OLAP的主要特点 一是在线性(On Line),体现为对用户请求的快速响应和交互式操作; 二是多维分析(Multi_Analysis),这是OLAP技术的核心所在。 4.1 OLAP
  • 126. 整个数据(仓)库系统的工具层大致可以分为三类,或者说三个发展阶段: (1)以MIS为代表的查询、报表类工具 (2)以OLAP为代表的验证型工具 (3)以及以DM为代表的挖掘型工具 4.1 OLAP
  • 127. OLAP与OLTP的区别 (1)OLTP主要面向公司职员;OLAP则主要面向公司领导者。 (2)OLTP应用主要是用来完成客户的事务处理,其数据基础是操作型数据库,如民航订票系统、银行储蓄系统等等,通常需要进行大量的更新操作,同时对响应时间要求较高;而OLAP是以数据仓库或数据多维视图为基础的数据分析处理,是针对特定问题的联机数据访问和分析,它一般不对仓库数据作修改处理,而只是查询,其应用主要是对客户当前及历史数据进行分析,辅助领导决策,其典型的应用有对银行信用卡风险的分析与预测、公司市场营销策略的制定等,主要是进行大量的查询操作,对时间的要求不太严格。4.1 OLAP
  • 128. OLAP与OLTP的不同
  • 129. OLAP与数据挖掘的比较 相同之处 OLAP与DM都是数据库(数据仓库)上的分析工具; 不同之处 (1)在实际应用中各有侧重。前者是验证型的,后者是挖掘型的; (2)前者建立在多维视图的基础之上,强调执行效率和对用户请求命令的及时响应,而且其直接数据源一般是数据仓库;后者建立在各种数据源的基础上,重在发现隐藏在数据深层次的对人们有用的模式,一般并不过多考虑执行效率和响应速度。 4.1 OLAP
  • 130. OLAP与数据挖掘的比较 (3)数据挖掘与OLAP不同,主要体现在它分析数据的深入和分析过程的自动化,自动化的含义是其分析过程不需要客户的参与,这是它的优点,也正是其不足。因为在实际中,客户也希望参与到挖掘中来,例如只想对数据的某一子集进行挖掘,对不同抽取、集成水平的数据进行挖掘,或是根据自己的需要动态选择挖掘算法等等。 因此,OLAP与数据挖掘各有所长。4.1 OLAP
  • 131. 根据对数据的组织方式的不同,OLAP分为两种: 基于多维数据库的OLAP(MD-OLAP) 基于关系数据库的OLAP(ROLAP) 前者响应速度快、执行效率高,但源于结构的局限,灵活性不高。 与之相比,后者由于建立在大量现有数据库(数据仓库)的基础上,灵活性、扩展性要高的多,并且支持大数据量和较多维数的能力也要强于前者。因此,虽然在响应速度、执行效率上差一点,仍然得到了广泛应用。现有的OLAP工具大多基于后者。 4.1 OLAP
  • 132. OLAP的典型操作 OLAP对数据仓库中数据的操作是针对多维数据视图(又称为超立方体)进行的。对立方体的典型操作包括:切片、切块以及旋转等。 切片 选定多维数组的一个二维子集; 切块 选定多维数组的一个三维子集; 旋转 改变一个立方体显示的维方向,人们可以从不同的角度更加清晰、直观地观察数据。
  • 133. (本页无文本内容)
  • 134. 多维数据Sales volume as a function of product, month, and regionProductRegionMonthDimensions: Product, Location, Time Hierarchical summarization pathsIndustry Region Year Category Country Quarter Product City Month Week Office Day
  • 135. 立方体实例Total annual sales of TV in U.S.A.DateProductCountryAll, All, AllsumsumTVVCRPC1Qtr2Qtr3Qtr4QtrU.S.ACanadaMexicosum
  • 136. 将OLAP与数据挖掘结合起来,发展出一种为数据挖掘服务的具有新型OLAP的数据仓库,将更能适应实际的需要。 OLAM(On Line Analytical Mining,联机分析挖掘)正是这种结合的产物。 4.2 OLAM
  • 137. 5 数据挖掘基础 5.1 概述 5.2 实现 5.3 工具
  • 138. 二十世纪末以来,全球信息量以惊人的速度急剧增长—据估计,每二十个月将增加一倍。许多组织机构的IT系统中都收集了大量的数据(信息)。目前的数据库系统虽然可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。为了充分利用现有信息资源,从海量数据中找出隐藏的知识,数据挖掘技术应运而生并显示出强大的生命力。 5.1 概述
  • 139. 数据挖掘是八十年代投资AI研究项目失败后,AI转入实际应用时提出的。它是一个新兴的,面向商业应用的AI研究。 1989年8月,在美国底特律召开的第11届国际人工智能联合会议的专题讨论会上首次出现数据库中的知识发现(Knowledge Discovery in Database,KDD)这一术语。 随后,在1991年、1993年和1994年都举行KDD专题讨论会,汇集来自各个领域的研究人员和应用开发者,集中讨论数据统计、海量数据分析算法、知识表示、知识运用等问题。最初,数据挖掘是作为KDD中利用算法处理数据的一个步骤,其后逐渐演变成KDD的同义词。 5.1 概述
  • 140. 现在,人们往往不加区别地使用两者。KDD常常被称为数据挖掘(Data Mining),实际两者是有区别的。一般将KDD中进行知识学习的阶段称为数据挖掘(Data Mining),数据挖掘是KDD中一个非常重要的处理步骤。 数据挖掘是近年来出现的客户关系管理(Customer Relationship Management, CRM)、商业智能(Business Intelligence, BI)等热点领域的核心技术之一。 5.1 概述
  • 141. 一种深层次的数据分析方法。 数据分析本身已有多年的历史,只不过在过去数据收集和分析的一般目的是用于科学研究;另外,由于当时计算能力的限制,很难实现大量数据的复杂分析。 现在,由于各行业业务自动化的实现,商业领域产生了大量的业务数据,这些数据并不是为了分析的目的而收集的,而是在商业运作过程中由于业务需要而自然产生的。5.1 概述
  • 142. 不再是单纯为了研究,更主要的是为商业决策提供真正有价值的信息,进而获得利润。 所有企业面临的一个共同问题是:企业数据量非常大,而其中真正有价值的信息却很少,因此需要从大量的数据中经过深层分析,获得有利于商业运作、提高竞争力的信息,就像从矿石中淘金一样,数据挖掘也由此而得名。5.1 概述
  • 143. 技术角度的定义 数据挖掘(Data Mining)是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。与数据挖掘相近的同义词包括:数据融合、数据分析和决策支持等。 这一定义包括好几层含义:数据源必须是真实的、海量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用;并不要求发现放之四海皆准的知识,仅支持特定的发现问题。 5.1.1 定义
  • 144. 5.1.1 定义商业角度的定义 数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性信息。 简言之,数据挖掘其实是一类深层次的数据分析方法。因此,数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证己知的规律性,并进一步将其模型化的有效方法。
  • 145. 数据挖掘的演化进化阶段 商业问题 支持技术 产品厂家 产品特点 数据搜集 (60年代) “过去五年中我的总收入是多少?” 计算机、磁带和磁盘 IBM,CDC 提供历史性的、静态的数据信息 数据访问 (80年代) “在新英格兰的分部去年三月的销售额是多少?” 关系数据库(RDBMS),结构化查询语言(SQL),ODBC Oracle、Sybase、Informix、IBM、Microsoft Oracle、Sybase、Informix、IBM、Microsoft 在记录级提供历史性的、动态数据信息 数据仓库; 决策支持 (90年代) “在新英格兰的分部去年三月的销售额是多少?波士顿据此可得出什么结论?” 联机分析处理(OLAP)、多维数据库、数据仓库 Pilot、Comshare、Arbor、Cognos、Microstrategy 在各种层次上提供回溯的、动态的数据信息 数据挖掘 (正在流行) “下个月波士顿的销售会怎么样?为什么?” 高级算法、多处理器计算机、海量数据库 Pilot、Lockheed、IBM、SGI、其他初创公司 提供预测性的信息
  • 146. 数据挖掘与其他科学的关系 数据挖掘作为一门新兴的交叉学科,涉及数据库系统、数据仓库、统计学、机器学习、可视化、信息检索和高性能计算等诸多领域。 此外,还与神经网络、模式识别、空间数据分析、图像处理、信号处理、概率论、图论和归纳逻辑等等领域关系密切。
  • 147. 数据挖掘与统计学的关系 近几年,人们逐渐发现数据挖掘中有许多工作都是由统计方法来完成的。甚至有些人(尤其是统计学家)认为数据挖掘是统计学的一个分支,当然大多数人(包括绝大多数数据挖掘研究人员)并不这么认为。 但是,统计学和数据挖掘的目标非常相似,而且数据挖掘中的许多算法也源于数理统计,统计学对数据挖掘发展的贡献功不可没。
  • 148. 数据挖掘与传统数据分析方法区别(1)数据挖掘的数据源与以前相比有了显著的改变; 数据是海量的; 数据有噪声; 数据可能是非结构化的; (2)传统的数据分析方法一般都是先给出一个假设然后通过数据验证,在一定意义上是假设驱动的;与之相反,数据挖掘在一定意义上是发现驱动的,模式都是通过大量的搜索工作从数据中自动提取出来 。即数据挖掘是要发现那些不能靠直觉发现的信息或知识,甚至是违背直觉的信息或知识,挖掘出的信息越是出乎意料,就可能越有价值。
  • 149. 在缺乏强有力的数据分析工具而不能分析这些资源的情况下,历史数据库也就变成了“数据坟墓”-里面的数据几乎不再被访问。也就是说,极有价值的信息被“淹没”在海量数据堆中,领导者决策时还只能凭自己的经验和直觉。因此改进原有的数据分析方法,使之能够智能地处理海量数据,即演化为数据挖掘。 数据挖掘与传统数据分析方法区别
  • 150. 国外研究现状 IEEE的Knowledge and Data Engineering会刊率先在1993年出版了KDD技术专刊。并行计算、计算机网络和信息工程等其他领域的国际学会、学刊也把数据挖掘和知识发现列为专题和专刊讨论。数据挖掘已经成了国际学术研究的重要热点之一。 此外,在Internet上还有不少KDD电子出版物,其中以半月刊Knowledge Discovery Nuggets最为权威(http://www.kdnuggets.com/ subscribe.html)。在网上还有许多自由论坛,如DM Email Club等。
  • 151. 国外研究现状 自1989年KDD术语出现以来,由美国人工智能协会主办的KDD国际研讨会已经召开了10次以上,规模由原来的专题讨论会发展到国际学术大会。而亚太地区也从1997开始举行PAKDD年会。
  • 152. 国内研究现状 与国外相比,国内对数据挖掘的研究起步稍晚,但发展势头强劲。 1993年,国家自然科学基金首次资助复旦大学对该领域的研究项目。 目前,国内的许多科研单位和高等院校竞相开展知识发现的基础理论及其应用研究。
  • 153. 发展趋势 近年来,数据挖掘的研究重点逐渐从发现方法转向系统应用,注重多种发现策略和技术的集成,以及多学科之间的相互渗透。 例如,1998年在美国纽约举行的第四届知识发现与数据挖掘国际学术会议不仅进行了学术讨论,并且有30多家软件公司展示了他们的数据挖掘软件产品,不少软件已在北美、欧洲等国得到应用。
  • 154. 数据挖掘系统的典型结构
  • 155. 5.1.2 功能1. 概念/类别描述(Concept/Class Description) 概念/类别描述是指对数据集做一个简洁的总体性描述并/或描述它与某一对照数据集的差别。 例1:我们收集移动电话费月消费额超出1000元的客户资料,然后利用数据挖掘进行分析,获得这类客户的总体性描述:35-50岁,有工作,月收入5000元以上,拥有良好的信用度…;
  • 156. 5.1.2 功能2. 关联分析(Association Analysis) 从一个项目集中发现关联规则,该规则显示了给定数据集中经常一起出现的属性-值条件元组。 例如:关联规则X=>Y所表达的含义是满足X的数据库元组很可能满足Y。关联分析在交易数据分析、支持定向市场、商品目录设计和其他业务决策等方面有着广泛的应用。
  • 157. 5.1.2 功能3. 分类与估值(Classification and Estimation) 分类指通过分析一个类别已知的数据集的特征来建立一组模型,该模型可用以预测类别未知的数据项的类别。该分类模型可以表现为多种形式:分类规则(IF-THEN),决策树或者数学公式,乃至神经网络。 估值与分类类似,只不过它要预测的不是类别,而是一个连续的数值。
  • 158. 5.1.2 功能4. 聚类分析(Clustering Analysis) 聚类分析又称为“同质分组”或者“无监督的分类”,指把一组数据分成不同的“簇”,每簇中的数据相似而不同簇间的数据则距离较远。相似性可以由用户或者专家定义的距离函数加以度量。 好的聚类方法应保证不同类间数据的相似性尽可能地小,而类内数据的相似性尽可能地大。
  • 159. 5.1.2 功能5. 时间序列分析(Time-Series Analysis) 时间序列分析即预测(Prediction),是指通过对大量时间序列数据的分析找到特定的规则和感兴趣的特性,包括搜索相似序列或者子序列,挖掘序列模式、周期性、趋势和偏差。预测的目的是对未来的情况作出估计。
  • 160. 5.1.2 功能6. 其它功能 包括:偏差分析(Deviation Analysis)、孤立点分析(Outlier Analysis)等。 随着数据挖掘技术的发展,可能还会继续出现新的数据挖掘功能。
  • 161. 5.1.3 模型 为了使数据挖掘技术在产业界得到更好的应用,欧洲委员会联合一些数据挖掘软件厂商开发了CRISP-DM(Cross Industry Standard Process for Data Mining)模型,目的是把数据挖掘的过程标准化, 使数据挖掘项目的实施速度更快、成本更低、更可靠并且更容易管理。 CRISP-DM模型最先在1996年被提出,当前的白皮书版本是1.0。
  • 162. CRISP-DM(Cross Industry Standard Process for Data Mining)模型
  • 163. 5.1.3 模型 CRISP-DM模型中,数据挖掘包括六个步骤: 1.业务理解(Business Understanding)阶段 具体地,包括: 确定业务目标 项目可行性分析 确定数据挖掘目标 提出初步的项目计划
  • 164. 5.1.3 模型确定业务目标:分析项目的背景,从业务视点分析项目的目标和需求,确定业务角度的成功标准; 项目可行性分析:分析拥有的资源,条件和限制,风险估计,成本和效益估计; 确定数据挖掘目标:明确确定数据挖掘的目标和成功标准,数据挖掘的目标和业务目标是不一样的,前者指技术上的,例如生成一棵决策树等; 提出项目计划:对整个项目做一个计划,初步估计用到的工具和技术。
  • 165. 5.1.3 模型 2.数据理解(Data Understanding)阶段 具体地,包括: 收集原始数据:收集本项目所涉及到的数据,如有必要,把数据装入数据处理工具,并作一些初步的数据集成的工作,生成相应报告; 描述数据:对数据做一些大致的描述,例如记录数、属性数等,给出相应报告; 探索数据:对数据做简单的统计分析,例如关键属性的分布等; 检查数据质量:包括数据是否完整、数据是否有错、是否有缺失值等问题。
  • 166. 5.1.3 模型3.数据准备(Data Preparation)阶段 具体地,包括: 数据选择:根据数据挖掘目标和数据质量选择合适的数据,包括表的选择、记录选择和属性选择; 数据清洁:提高选择好的数据的质量,例如去除噪音,估计缺失值等; 数据创建:在原有数据的基础上是生成新的属性或记录;
  • 167. 5.1.3 模型数据合并:利用表连接等方式将几个数据集合并在一起; 数据格式化:把数据转换成适合数据挖掘处理的格式。
  • 168. 5.1.3 模型4.建立模型(Modeling)阶段 具体地,包括: 选择建模技术:确定数据挖掘算法和参数,可能会利用多个算法; 测试方案设计:设计某种测试模型的质量和有效性的机制; 模型训练:在准备好的数据集上运行数据挖掘算法,得出一个或者多个模型; 模型测试评估:根据测试方案进行测试,从数据挖掘技术的角度确定数据挖掘目标是否成功。
  • 169. 5.1.3 模型5.模型评估(Evaluation)阶段 具体地,包括:        结果评估:从商业角度评估得到的模型,甚至实际试用该模型测试其效果; 过程回顾:回顾项目的所有流程,确定每一个阶段都没有失误; 确定下一步工作:根据结果评估和过程回顾得出的结论,确定是部署该挖掘模型还是从某个阶段开始重新开始。
  • 170. 5.1.3 模型6.部署(Deployment)阶段 具体地,包括:       部署计划:对在业务运作中部署模型作出计划; 监控和维护计划:如何监控模型在实际业务中的使用情况,如何维护该模型; 作出最终报告:项目总结,项目经验和项目结果; 项目回顾:回顾项目的实施过程,总结经验教训;对数据挖掘的运行效果做一个预测。
  • 171. 模型 为保证项目的可靠性和可管理性,CRISP-DM规定一个数据挖掘项目应该产生11个报告: 业务理解报告 原始数据收集报告 数据描述报告 数据探索报告 数据质量报告 数据集描述报告 模型训练报告 模型评估报告 部署计划 监控和维护计划 总结报告 通过这些报告,可以有效地控制数据挖掘项目进程,减少开发风险。
  • 172. 5.1.4 展望未来的热点应用领域 网站的数据挖掘(Web site data mining) 生物信息或基因的数据挖掘 文本挖掘(Textual mining) 多媒体挖掘
  • 173. 5.1.4 展望网站的数据挖掘(Web site data mining) 当前Internet上各类电子商务网站风起云涌,电子商务业务的竞争比传统的业务竞争更加激烈。客户从一个电子商务网站转换到竞争对手那边,只需点击几下鼠标即可,电子商务环境下客户保持比传统商业更加困难。若想在竞争中生存进而获胜,您必须比竞争对手更了解客户。电子商务网站每天都可能有上百万次的在线交易,生成大量的记录文件(Log files)和登记表,如何对这些数据进行分析和挖掘,及时地了解客户的喜好、购买模式,甚至是客户一时的冲动,设计出满足于不同客户群体需要的个性化网站,进而增加竞争力,几乎变得势在必行。
  • 174. 5.1.4 展望网站的数据挖掘(Web site data mining) 就分析和建立模型的技术和算法而言,网站的数据挖掘和原来的数据挖掘差别并不是特别大,很多方法和分析思想都可以运用。所不同的是网站的数据格式有很大一部分来自于点击流,和传统的数据库格式有区别。因而对电子商务网站进行数据挖掘所做的主要工作是数据准备。目前,有很多厂商正在致力于开发专门用于网站挖掘的软件。
  • 175. 5.1.4 展望生物信息或基因的挖掘 生物信息或基因数据挖掘则完全属于另外一个领域,在商业上很难讲有多大的价值,但对于人类却受益非浅。例如,基因的组合千变万化,得某种病的人的基因和正常人的基因到底差别多大?能否找出其中不同的地方,进而对其不同之处加以改变,使之成为正常基因?这都需要数据挖掘技术的支持。 对于生物信息或基因的数据挖掘和通常的数据挖掘相比,无论在数据的复杂程度、数据量还有分析和建立模型的算法方面,都要复杂得多。从分析算法上讲,更需要一些新的和高效的算法。现在很多厂商正在致力于这方面的研究。但就技术和软件而言,还远没有达到成熟的地步。
  • 176. 5.1.4 展望文本挖掘(Textual mining) 文本挖掘是人们关心的另外一个话题。例如,在客户服务中心,把同客户的谈话转化为文本数据,再对这些数据进行挖掘,进而了解客户对服务的满意程度和客户的需求以及客户之间的相互关系等信息。 无论是在数据结构还是在分析处理方法方面,文本数据挖掘和数据挖掘相差很大。文本挖掘并不是一件容易的事情,尤其是在分析方法方面,还有很多需要研究的专题。目前市场上有一些类似的软件,但大部分方法只是把文本移来移去,或简单地计算一下某些词汇的出现频率,并没有真正实现语义上的分析功能。
  • 177. 5.1.4 展望多媒体挖掘(Multimeadia Mining) 基于描述的检索系统 基于图像的描述创建索引并实现对象检索,如关键字、标题、尺寸和创建时间等; 人工实现则极为费时、费力 ; 自动实现则往往结果不理想。 基于内容的检索系统 支持基于图像内容的检索,例如颜色、质地、形状、对象及小波变换
  • 178. 5.1.4 展望未来的研究热点 发现语言的形式化描述 寻求数据挖掘过程中的可视化方法 研究在网络环境下的数据挖掘技术 加强对各种非结构化数据的挖掘 知识的维护更新
  • 179. 5.1.4 展望发现语言的形式化描述 即研究专门用于知识发现的数据挖掘语言,寻求类似于数据库中SQL语言一样的数据挖掘语言,使挖掘过程走向形式化和标准化。 寻求数据挖掘过程中的可视化方法 使知识发现的过程能够被用户理解,也便于在知识发现的过程中进行人机交互。 研究在网络环境下的数据挖掘技术 特别是在因特网上建立DMKD服务器,并且与数据库服务器配合,实现Web挖掘。
  • 180. 5.1.4 展望 加强对各种非结构化数据的挖掘 如对文本数据、图形数据、视频图像数据、声音数据乃至综合多媒体数据的挖掘。 知识的维护更新 数据挖掘的结果——知识是具有时效性的,需要研究知识的维护更新技术,如知识的增量更新、模型的进化等。
  • 181. 各步骤之间互相影响、反复调整,形成一种螺旋式上升过程。5.2 实现
  • 182. 数据准备 KDD的处理对象是大量的数据,这些数据一般存储在数据库系统中,是长期积累的结果。但往往不合适直接在这些数据上进行知识挖掘,需要做一些准备工作,也就数据的预处理。数据预处理包括数据的选择(选择相关数据)、净化(消除噪音、冗余数据)、推测(推算缺值数据)、转换(离散型数据与连续型数据之间的转换)、数据缩减(减少数据量)等。 数据准备是KDD的第一个步骤,也是比较重要的一个步骤。数据准备得好坏将直接影响数据挖掘的效率和准确度以及最终模式的有效性。 5.2 实现
  • 183. 数据挖掘 数据挖掘是最为关键的步骤,它根据KDD的目标,选取相应算法的参数,分析数据,得到可能形成知识的模式模型。目前采用较多的技术有决策树、分类、聚类、粗糙集、关联规则、神经网络、遗传算法等。 5.2 实现
  • 184. 模式的评估、解释 通过上面步骤所得到的模式,有可能是没有意义或没有实用价值的,因此需要评估,确定那些是有效的、有用的模式。此外,大部分模式是用数学手段描述的表达式,很难被人理解,还需要将其解释成可理解的方式以呈现给用户。 5.2 实现
  • 185. 知识运用 发现知识是为了运用,如何使知识能被运用也是KDD的步骤之一。运用知识有两种方法:一种是只需看知识本身所描述的关系或结果,就可以对决策提供支持;另一种是要求对新的数据运用知识,由此可能产生新的问题,而需要对知识做进一步的优化。 KDD过程可能需要多次的循环反复,每一个步骤一旦与预期目标不符,都要回到前面的步骤,重新调整,重新执行。 5.2 实现
  • 186. 数据挖掘过程的分步实现,不同的步骤需要不同的专业人员参与完成,大体分为三类: 1)业务分析人员:要求精通业务,能够解释业务对象,并根据各业务对象确定出用于数据定义和挖掘算法的业务需求。 2)数据分析人员:精通数据分析技术,并对统计学有较熟练的掌握,有能力把业务需求转化为数据挖掘的各步操作,并为每步操作选择合适的技术。 3)数据管理人员:精通数据管理技术,并从数据库或数据仓库中收集数据。5.2 实现
  • 187. 从上可见,数据挖掘是一个多领域专家合作的过程,也是一个在资金上和技术上高投入的过程。这一过程要反复进行,在反复过程中,不断地趋近事物的本质,不断地优先问题的解决方案。 5.2 实现
  • 188. 一般而言,一个企业实施数据挖掘项目有三种方式可供选择: 购买成熟的模型 购买一般性数据挖掘系统软件 构建数据挖掘系统 5.2 实现
  • 189. 第一种方式实现简单,可以直接应用,但是要求模型所模拟的环境必须和企业的产品、客户以及市场条件相类似。当模型所涉及的环境条件改变的时候,这种模型不能根据环境的变化作出修改和调整。5.2 实现
  • 190. 第二种方式可以利用数据挖掘系统根据企业自己的数据生成模型。但是,一个通用的数据挖掘系统在对特定行业商业问题的理解上可能需要做很多工作;同时,如何与与企业原有系统自动化集成也是一个需要着重考虑的问题。 第三种方式可以较好地解决与原有系统集成的问题,并可以直接面向特定的商业问题的解决。但是这种方式实现较复杂,项目实施周期长,成本较高。5.2 实现
  • 191. 当然企业也可以把上述方式结合起来。例如:购买包含模型的数据挖掘软件或购买通用数据挖掘软件系统,然后进行针对本企业特点的二次开发等。5.2 实现
  • 192. 目前,世界上比较有影响的典型数据挖掘系统包括: Enterprise Miner( SAS公司) Intelligent Miner( IBM公司) SetMiner( SGI公司) Clementine( SPSS公司) Warehouse Studio( Sybase公司) See5( RuleQuest Research公司) CoverStory EXPLORA Knowledge Discovery Workbench DBMiner Quest等5.3 工具
  • 193. 5.3.2 几种数据挖掘工具比较产品 公司 主页版本 ClementineIntegral Solutions, Ltd. http://www.isl.co.uk/clem.html 4.0 DarwinThinking Machines, Corp. http://www.think.com/html/products/products.htm 3.0.1 Enterprise Miner SAS Institute http://www.sas.com/software/components/miner.html Beta Intelligent Miner IBM http://www.software.ibm.com/data/iminer/ 2 PRW Unica Technologies, Inc. http://www.unica-usa.com/prodinfo.htm 2.1 Scenario Cognos http://www.cognos.com/busintell/products/index.html 2
  • 194. 平台和数据库连接方式的比较产品 单机版 C/S版 数据源 Clementine PC和UNIX 无 ODBC Darwin 无 Unix Server/PC Client ODBC Enterprise Miner PC Unix Server/PC Client和NTServer/PC Client ODBC 和Native Database Drivers Intelligent Miner PC Unix Server/PC Client Native Database Drivers PRW PC 无 ODBC Scenario PC 无 仅支持数据库文件(Debase、excel 、csv等)
  • 195. 算法方面的比较算法 Clementine Darwin Enterprise Miner Intelligent Miner PRW Scenario 决策树 有 有 有 有 无 有 神经网络 有 有 有 有 有 无 回归分析 有 无 有 有 有 无 Radial Basis Functions 无 有 无 有 有 无 最近邻 无 无 有 无 有 无 最近均值 无 无 无 无 有 无 Kohonen Self-Organizing Maps 有 无 有 无 无 无 聚类 有 无 无 有 有 无 关联规则 有 无 无 有 无 无
  • 196. 在算法参数控制和扩展功能选项方面,对比这些产品可以发现, Enterprise Miner和PRW对参数控制实现的较好,而Intelligent Miner在这方面较弱。几乎所有的产品都提供对决策树的实数值的处理和图形展示等扩展功能,但只有Clementine和Scenario较好地实现了树的修剪选项功能。此外,神经网络的扩展功能方面也有较大差别。 5.3.2 几种数据挖掘工具比较
  • 197. 易用性方面的比较产品 数据装载和操纵 模型 建立 模型理解 技术 支持 总体 感觉 Clementine +++ +++ +++ +++ +++ Darwin ++ ++ +++ ++ ++ Enterprise Miner ++ ++ ++ ++ ++ Intelligent Miner ++ ++ ++ ++ ++ PRW +++ +++ +++ +++ +++ Scenario ++ +++ +++ ++ +++
  • 198. 可视化方面的比较 Intelligent Miner、Enterprise Miner和Scenario都有图形化的树展示,而Clementine和Darwin则提供基于文本的规则说明。此外,对于柱状图、饼图和曲线等这些工具的支持程度也各有不同。
  • 199. 挖掘过程自动化的比较产品 对自动化的支持 Clementine 可视化编程和编程语言支持 Darwin 编程语言支持 Enterprise Miner 可视化编程和编程语言支持 Intelligent Miner 仅提供向导界面,不支持编程 PRW 有一个实验管理组件,支持宏 Scenario 自动化支持较弱,很多过程需手工完成
  • 200. 这六种工具都是非常优秀的数据挖掘工具,但每一种可能适用于不同的环境。IBM的Intelligent Miner在市场上比较领先并有良好的技术支持;SAS的Enterprise Miner明显地偏向统计(因此更适用于适合统计的环境); 在不清楚那种算法更好的情况下Unica的PRW是较好的选择,Cognos的Scenario则是其数据仓库系列产品的重要组件…。 5.3.2 几种数据挖掘工具比较
  • 201. 数据挖掘工具选择商用数据挖掘系统各不相同 不同的数据挖掘功能和方法 数据集的类型可能完全不同 多维视图 数据类型 关系型的, 事务型的, 文本的, 时间序列, 空间的? 系统问题 支持一种还是多种操作系统? C/S 架构? 提供Web接口 ,且允许输入/输出 XML 数据?
  • 202. 数据挖掘工具选择数据源 ASCII文件、 文本文件, 多个关系型数据源 支持 ODBC 连接 (OLE DB, JDBC)? 数据挖掘功能与方法 实现多种数据挖掘功能 每种功能提供多种实现方法提供更多的数据挖掘功能和实现方法将使用户具有更大的灵活性和更强大的分析能力与数据库或数据仓库的耦合性 四种耦合方式: 非耦合, 松散耦合, 半紧密耦合 和紧密耦合 理想情况下, 数据挖掘系统应该与数据库是紧密耦合的
  • 203. 数据挖掘工具选择可伸缩性 Row (or database size) scalability Column (or dimension) scalability Curse of dimensionality: it is much more challenging to make a system column scalable that row scalable 可视化工具 “A picture is worth a thousand words” Visualization categories: data visualization, mining result visualization, mining process visualization, and visual data mining 数据挖掘查询语言与图形用户界面 Easy-to-use and high-quality graphical user interface Essential for user-guided, highly interactive data mining
  • 204. DBMiner 的主要功能 Discovery-driven, OLAP-based multi-dimensional analysis Association and frequent pattern analysis Classification (decision tree analysis) Cluster analysis 3-D cube viewer and analyzer 其他功能 OLAP service, cube exploration, statistical analysis Sequential pattern analysis (under development) Visual classification (under development)典型工具—DBMiner
  • 205. 典型工具—Amdocs 在多年前电信行业已经开始利用数据挖掘技术进行网络出错预测等方面的工作,而近年来随着CRM理念的盛行,数据挖掘技术开始在市场分析和决策支持等方面得到广泛应用。市场上更出现了针对电信行业的包含数据挖掘功能的软件产品。比较典型的有Amdocs和Slp Infoware。
  • 206. 典型工具—Amdocs Amdocs提供了整个电信运营企业的软件支撑平台。在其Clarify CRM产品组件中,利用数据挖掘技术支持以下应用: 客户流失管理(churn management) 终身价值分析(lifetime value analysis) 产品分析(product analysis) 欺诈甄别(fraud detection)。 Amdocs产品中的数据分析和数据分析应用曾获得三届KDD杯奖。
  • 207. 典型工具—Predictive CRM Slp Infoware开发的Predictive CRM软件是一个面向电信行业的CRM平台软件,其中应用了大量的数据挖掘和统计学技术。其数据挖掘部分实际上是把SAS Institute、SPSS和UNICA等公司的数据挖掘产品加以二次开发以适应电信行业的需要。数据挖掘在P-CRM中的应用包括客户保持、交叉销售、客户流失管理、欺诈甄别等方面。
  • 208. 典型工具—SAS/EM 利用SAS软件技术进行数据挖掘可以有三种方式: (1)使用SAS软件模块组合进行数据挖掘 (2)将若干SAS软件模块联结成一个适合需求的综合应用软件 (3)使用SAS数据挖掘的集成软件工具SAS/EM
  • 209. 典型工具—SAS/EM SAS/EM是一个图形化界面,菜单驱动的,对用户非常友好且功能强大的数据挖掘集成软件,集成了: 数据获取工具 数据取样工具 数据筛选工具          数据变量转换工具 数据挖掘数据库       数据挖掘过程 多种形式的回归工具 建立决策树的数据剖分工具 决策树浏览工具              人工神经元网络 数据挖掘的评价工具
  • 210. 典型工具—SAS/EM
  • 211. SAS/EM-数据获取工具 通过对话框指定要使用的数据集的名称,并指定要在数据挖掘中使用的数据变量。变量分为两类: 区间变量(Interval Variable) 是指那些要进行统计处理的变量。对于这样一些变量,在数据输入阶段你就可以指定它们是否要作最大值、最小值、平均值、标准差等的处理。还可给出该变量是否有值的缺漏,缺漏的百分比是多少等。利用这些指定可对输入数据在获取伊始就进行了一次检查,并把结果告诉你,你可初步审视其质量如何。
  • 212. SAS/EM-数据获取工具分类变量(Class Variable) 区间变量以外的变量称之为分类变量。在数据输入阶段将会提供给你每个分类变量共有多少种值可供分类之用。
  • 213. SAS/EM-数据取样工具 对获取的数据,可再从中作取样操作。取样的方式是多种多样的。主要包括: 随机取样 等距取样 分层取样 从起始顺序取样 分类取样 ……
  • 214. SAS/EM-数据取样工具随机取样 在采用随机取样方式时,数据集中的每一组观测值都有相同的被取样的概率。如按10%的比例对一个数据集进行随机取样,则每一组观测值都有10%的机会被取到。 等距取样 如按5%的比例对一个有100组观测值的数据集进行等距取样,则有:100 / 5 = 20,等距取样方式是取第20、40、60、80和第100等五组观测值。
  • 215. SAS/EM-数据取样工具分层取样 在这种取样操作时,首先将样本总体分成若干层次(或者说分成若干个子集)。在每个层次中的观测值都具有相同的被选用的概率,但对不同的层次你可设定不同的概率。这样的取样结果可能具有更好的代表性,进而使模型具有更好的拟合精度。 从起始顺序取样 从输入数据集的起始处开始取样。取样的数量可以给定一个百分比,或者就直接给定选取观测值的组数。
  • 216. SAS/EM-数据取样工具分类取样 在前述几种取样方式中,取样的单位都是一组观测值。分类取样的单位是一类观测值。这里的分类是按观测值的某种属性进行区分。如按客户名称分类、按地址区域分类等。显然在同一类中可能会有多组观测值。分类取样的选取方式就是前面所述的几种方式,只是取样以类为单位。
  • 217. SAS/EM-数据筛选工具 通过数据筛选工具可从观测值样本中筛选掉不希望包括进来的观测值。对于分类变量可给定某一类的类值说明此类观测值是要排除于取样范围之外的。对于区间变量可指定其值大于或小于某值时的这些组观测值是要排除于取样范围之外的。 通过数据筛选使样本数据更适合数据挖掘的目标。
  • 218. SAS/EM-数据变量转换工具 利用此工具可将某一个数据进行某种转换操作,然后将转换后的值作为新的变量存放在样本数据中。转换的目的是为了使数据和将来要建立的模型拟合的更好。例如,原来的非线性模型线性化、加强变量的稳定性等。可进行取幂、对数、开方…等转换。当然,也可给定一个公式进行转换。
  • 219. SAS/EM-建立数据库 在进行数据挖掘分析模型的操作之前,要建立一个数据挖掘的数据库(DMDB),其中放置此次要进行操作的数据。因为此后可能要进行许多复杂的数学运算,在这里建立一个专门的数据集可提高工作效率。在处理之前,可对所选取的各个变量预先进行诸如最大、最小、平均、标准差…等处理。对一些要按其分类的变量的等级也先放入Meta Data之中,以利后继操作。 总之在这个数据库中为数据挖掘建立一个良好的工作环境。
  • 220. SAS/EM-为建立决策树的数据剖分工具 对数据集进行聚类、建立决策树,是近来数据处理,进行决策支持常用的方法。在SAS/EM中亦支持这一功能。在建立决策树的过程中可有多种数据聚类、剖分的方法可供选择。
  • 221. SAS/EM-为建立决策树的数据剖分工具图形化界面的交互式操作,可分成六个层: (1)对数据挖掘数据库中选定数据集的操作 (2)对数据集中的变量的处理 (3)聚类、剖分时的基本选择项 (4)聚类、剖分时的进一步操作选择项 (5)模型的初步确定 (6)结果的评价
  • 222. SAS/EM-决策树浏览工具 最后作出来满意的决策树可能是个"枝繁叶茂"的架构。SAS/EM提供了可视化的浏览工具。这一点很重要,一个复杂的决策树若难以观察,则会影响实施决策的效率,甚至是有效性。决策树浏览工具包括: ·            决策树基本内容和统计值的汇总表 ·            决策树的导航浏览器 ·            决策树的图形显示 ·            决策树的评价图表
  • 223. SAS/EM-数据挖掘评价工具 在SAS/EM的评价工具中,提供了一个通用的数据挖掘评价的架构,可以比较不同的模型效果;预报各种不同类型分析工具的结果。 在进行了各种比较和预报的评价之后,将给出一系列标准的图表,供用户进行定量评价。可能用户会有自己独特的评价准则,在SAS/EM的评价工具中,还可以进行客户化的工作,对那些标准的评价图表按你的具体要求进行更改。因此,评价工作可能会更有意义。
  • 224. 小结 目前,虽然已经有了许多成熟的商业数据挖掘工具,但这些工具一般都是一个独立的系统,不容易与电信企业现业务支撑系统集成;而且由于数据挖掘技术本身的特点,一个通用的数据挖掘系统可能并不适用于电信企业。 切实可行的办法是借鉴成熟的经验,结合自身特点开发专用的数据挖掘系统。
  • 225. 6 聚类分析 6.1 硬聚类 6.2 模糊聚类 6.3 评价
  • 226. 聚类分析 从纷繁复杂的数据中,根据最大化类内相似性、最小化类间相似性的原则进行聚类或分组。 即使得在一个簇内的对象具有高相似性,而不同簇间的对象具有低相似性的过程。6.1 硬聚类
  • 227. 6.1.1 算法种类 基于划分的聚类方法 基于层次的聚类方法 基于密度的聚类方法 基于网格的聚类方法 基于模型的聚类方法
  • 228. 基于划分的聚类方法 给定一个由个n对象组成的数据集合,对此数据集合构建k个划分( ),每个划分代表一个簇,即将数据集合分成多个簇的算法。 要求:①每个簇至少有一个对象; ②每个对象必须且仅属于一个簇。 典型算法k-均值和k-中心点算法等。 6.1.1 算法种类
  • 229. 基于层次的聚类方法 对给定的数据集合进行层层分解的聚类过程,具体地主要包括凝聚法和分裂法。 凝聚法指起初每个对象被认为是一个簇,然后不断合并相似的簇,直到达到一个令人满意的终止条件;分裂法恰恰相反,先把所有的数据归于一个簇,然后不断分裂彼此相似度最小的数据集,使簇被分裂成更小的簇,直到达到一个令人满意的终止条件。 根据簇间距离度量方法的不同,层次法可分为不同的种类。常用的距离度量方法包括:最小距离、最大距离、平均值距离和平均距离等。 典型算法:CURE、Chameleon和BIRCH等 6.1.1 算法种类
  • 230. 基于层次的聚类方法这类方法不需要预先给定参数(聚类数),但需要终止条件。Step 0Step 1Step 2Step 3Step 4bdceaa bd ec d ea b c d eStep 4Step 3Step 2Step 1Step 0agglomerative (AGNES)divisive (DIANA)
  • 231. CURE算法–随机选取s个样本; –将所有样本划分为p个簇,每个簇的样本数是s/p; –将每个簇划分为q个子集,每个子集样本数是s/pq –     删除孤立点数据 •       随机取 •       如果一个簇变化缓慢,则删除该簇 - 合并其中的部分子集
  • 232. CURE算法-Data Partitioning and Clusterings = 50 p = 2 s/p = 25xxxyyyyxyxs/pq = 5
  • 233. CURE算法- Shrinking Representative PointsxyxyShrink the multiple representative points towards the gravity center by a fraction of . Multiple representatives capture the shape of the cluster
  • 234. CHAMELEON算法CHAMELEON算法是由G. Karypis, E.H. Han 和 V. Kumar在1999年提出的一种动态层次聚类方法。 基于动态模型计算相似性 只有当两个类之间的相似性高于类内对象的相似性时合并两个类。 本质上,是一个两阶段算法 1.首先,使用图分割算法将数据集合划分为多个子集; 2.然后,使用层次聚类中的凝聚方法将这些子集进行反复的合并,直至获得最终的聚类结果。
  • 235. CHAMELEON算法Construct Sparse GraphPartition the GraphMerge PartitionFinal ClustersData Set
  • 236. 基于密度的聚类方法 这类算法的思想是,只要某簇邻近区域的密度超过设定的某一阈值,则扩大簇的范围,继续聚类。这类算法可以获得任意形状的簇。 典型算法:DBSCAN、OPTICS和DENCLUE等6.1.1 算法种类
  • 237. 基于网格的聚类方法 基于网格的聚类算法首先将问题空间量化为有限数目的单元,形成一个空间网格结构,随后聚类在这些网格之间进行。这类算法速度较快。 典型算法:STING、WareCluster和CLIQUE等 6.1.1 算法种类
  • 238. 基于模型的聚类方法 基于模型的聚类算法为每个簇假定一个模型,寻找数据对给定模型的最佳拟合。所基于的假设是:数据是根据潜在的概率分布生成的。 典型算法:COBWEB和神经网络算法等。 6.1.1 算法种类
  • 239. 上述方法属于传统聚类的范畴。一般地,传统聚类算法对于维度较低的数据集较有效,而当维度较高时,可能就不适合了。 此外,大型数据库的聚类研究受到越来越多的重视。随着数据库技术的普及,积累了大量的数据信息,因此这一分支成为一个研究热点。 6.1.1 算法种类
  • 240. 一般地,数据对象采用矢量表示法,即通过一个在多维空间中的矢量,来描述一个对象多方面的特征。矢量的每个维度描述对象的一个特征。多个对象的矢量构成一个模式矩阵(Pattern Matrix),即(xij)mn 其中每行代表一个对象,每列描述一个特征。6.1.2 相似度计算
  • 241. 6.1.2 相似度计算 在各种聚类算法中,通常是需要借助量化的指标以表征数据对象之间的特征差异和不同,称之为聚类统计量。聚类统计量包括:距离或相似度。
  • 242. 由于不同的特征采用不同的度量标准或尺度,这将对聚类结果产生不同的影响,为了消除这一差别,常进行标准化变换,使所有的特征能用一个共同的标准度量。 6.1.2 相似度计算
  • 243. 标准化处理后,计算对象间的距离最常用:欧氏距离,曼哈顿距离(又称绝对距离)、明考斯基(Minkovski)距离等方法。 6.1.2 相似度计算
  • 244. 6.1.2 相似度计算 n个对象彼此之间的相似性或近似性可通过相似(异)度矩阵(Dissimilarity Matrix)表示。它是一个nm维、对角线元素为1的对称矩阵,即(rij)nm。其中,rij是i对象和j之间相似性的量化表示。通常其值是非负的。对象和关系越亲密,其绝对值越接近1;彼此关系越疏远,其值越接近于0。 对象间相似度的计算方法包括:夹角余弦法、相关系数法及指数相似系数法等。
  • 245. 6.1.3 实现方法 基于目标函数迭代的实现 基于神经网络的实现 基于进化计算的实现
  • 246. 6.1.4 主要算法K均值(k-means)是一种简便、实用的无监督聚类分析算法。这种算法在已知簇的个数时,可很好地实现数据的聚类分析。 基本思想 (1)首先,随机选择k个数据点做为聚类中心; (2)然后,计算其它点到这些聚类中心点的距离,通过对簇中距离平均值的计算,不断改变这些聚类中心的位置,直到这些聚类中心不再变化为止。
  • 247. 输入:n个数据的数据集合和已知的簇个数k 输出:n个数据各属于k个簇中哪个簇的信息 算法步骤: 1)任意从n个数据中选择k个作为初始的簇中心; 2)将剩余的n-k个数据按照一定的距离函数划分到最近的簇; 3)repeat 4)按一定的距离函数计算各个簇中数据的各属性平均值,作为新的簇中心; 5)重新将n个数据按照一定的距离函数划分到最近的簇; 6)until簇的中心不再变化。6.1.4 主要算法
  • 248. K均值的流程 由流程图可知,k-均值算法是一种基于对数据集进行划分的方法进行聚类的算法。它是不断趋于最优解的试探过程。每一次迭代都试图使簇中心的选择更加接近于数据集的实际簇中心。输出N输入读入标准化归一化初始化簇计算簇平均值更改簇中心重新决定点归何簇Y簇中心是否变化6.1.4 主要算法
  • 249. K均值的实现过程6.1.4 主要算法
  • 250. 优势 (1)算法简单; (2)执行和收敛过程相对较快,是一种常见的聚类算法。 局限性 (1)必须事先知道聚类数; (2)算法要求簇是密集的、簇和簇之间的差异比较大; (3)数据集的平均值的计算必须有适当的定义; (4)不能用于非凸面的聚类; (5)对于某些孤立数据和“噪声”点敏感等。 6.1.4 主要算法
  • 251. k-中心点算法是对k -均值的改进 主要的改进 不采用簇中对象的平均值作为参照点,选用簇中位置最中心的对象,即中心点。这样的划分方法依然是基于最小化所有对象与其参照点之间的相异度之和的原则来执行的。 6.1.4 主要算法
  • 252. 基本思想 首先为每个簇随机的赋一个样本做中心点,将剩余的点依照距离的远近分配给最近的簇;随后用其它的非中心点数据做中心点,并查看聚类情况。如果替换的聚类总代价小于零,那么就执行替换直到中心点不再发生变化,也就是说达到代价最小值时停止算法。 6.1.4 主要算法
  • 253. 输入:簇的个数k,包含n个样本的数据集 输出:各样本属于k个簇的信息 算法步骤: 1)随机选择k个样本作为初始中心点; 2)repeat 3)将非中心点的数据依照与各中心点的距离划分到最近的簇中; 4)随机的在非中心点中选择一个样本; 5)计算使用该点做中心点来代替原中心点的代价; 6)if <0 then 用该点替换原中心点,形成新的簇集合 7)until 中心点不再发生变化6.1.4 主要算法
  • 254. 1.选取聚类块数k 2.从训练集中任意取定k个向量 作为聚类中心 3.将每个样本向量 (n为输入向量维数),按下列欧氏距离归入中心为 的类中。 4.重新调整聚类中心 。令 ,其中 由下式计算得出: 其中 是第i个聚类块中的向量数。 5.如果步骤4中的聚类中心( )不再变化,则终止。否则;转至步骤3。6.1.4 主要算法
  • 255. 6.2 模糊聚类模糊聚类(Fuzzy Clustering Analysis,FCA)是指一个对象以不同程度属于多个类,各个类之间的界限是不确定的。其本质是不仅要考虑对象是否属于该类,而且要考虑属于该类的程度如何。模糊聚类完全不同于所谓的硬聚类,即类别之间的界限是明确而严格的。 聚类有效性对聚类分析具有重要意义,被认为是聚类分析的一个瓶颈。对于相同的数据集合,采用不同的聚类方法,可能得到不同的聚类结果。 即便是采用同一种聚类方法,若选择不同的初始参数(如聚类数、聚类中心等)也可能会得到不同的聚类结果。
  • 256. 6.3 评价聚类分析是一种无监督的学习,事先对给定数据集合的结构一无所知,没有利用任何先验知识。无论采用哪种聚类算法,其聚类结果的合理性和有效性都有待评价。 聚类有效性对聚类分析具有重要意义,被认为是聚类分析的一个瓶颈。对于相同的数据集合,采用不同的聚类方法,可能得到不同的聚类结果。 即便是采用同一种聚类方法,若选择不同的初始参数(如聚类数、聚类中心等)也可能会得到不同的聚类结果。
  • 257. 例如,采用相同的k-均值聚类算法对同一个wine测试集进行聚类实验,当预设聚类类别数分别为1~8时,则所得到的聚类正确率是不同的,如柱状图所示。
  • 258. 6.3 评价可伸缩性 即算法中模式数发生变化的情况。有些算法在模式数小的条件下,算法的性能很好,但是模式数增大后,算法性能下降。如PAM算法是一种k-中心点算法,它对小的数据集合非常有效,但对大的数据集合则没有良好的可伸缩性。 高维性 即算法中模式属性个数发生变化的情况。同样,有些算法只擅长处理低维数据。在高维空间中聚类是一个挑战,特别是数据有可能非常稀疏和偏斜。
  • 259. 6.3 评价发现任意形状的聚类 一个簇可能是任意形状的,但一般的聚类算法是基于欧氏距离和曼哈顿距离度量实现聚类,更趋于发现球状簇。在这方面,基于密度的聚类方法较好。 处理噪声数据的能力 噪声数据可能是数据本身不完整,也可能是孤立点数据(Outlier)。有些算法不擅于处理孤立点数据,因此还专门出现了发现孤立点数据的算法。
  • 260. 6.3 评价用于决定输入参数的领域知识最小化和输入记录顺序敏感性 一方面要求降低算法对输入参数的敏感程度,另一方面要求输入记录顺序对算法的结果影响小。如经典的k-均值算法,需要预先给出簇的数目。在一些知识发现应用中,这一参数非常影响聚类的质量。这常常是高效率算法的弱点。
  • 261. 6.3 评价可解释性和可用性 知识发现过程中,聚类结果总是表现为一定的知识,这就要求聚类结果可解释、易理解。这与可视化密切相关,同时也与实际应用有关。如SOM(Self Organization Mapping)算法用于文本聚类可以产生知识地图,表现了良好的可视化性能。
  • 262. 7 分类和预测 7.1 概述 7.2 神经网络 7.3 决策树 7.4 实现过程
  • 263. 7.1 概述分类是数据挖掘中的一个重要课题。 分类的目的是获得一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到某一个给定类别。 分类可用于提取描述重要数据类的模型或预测未来的数据趋势。
  • 264. 7.1 概述分类与聚类的比较 分类是有监督的学习 Supervision: The training data (observations, measurements, etc.) are accompanied by labels indicating the class of the observations New data is classified based on the training set 聚类是无监督的学习 The class labels of training data is unknown Given a set of measurements, observations, etc. with the aim of establishing the existence of classes or clusters in the data
  • 265. 分类方法的评价标准预测的正确性 时间 构建模型的时间 使用模型所需的时间 健壮性 处理噪声及缺失值的能力 可扩展性 可操作性 规则的优化 决策树的大小 分类规则的简洁性
  • 266. 7.1 概述常见的分类方法 决策树分类 决策树归纳是一种经典的分类算法。它采用自顶向下、递归的、各个击破的方式构造决策树。树的每一个结点上使用信息增益度量选择属性,可以从所生成的决策树中提取出分类规则。
  • 267. 7.1 概述KNN分类 即K最近邻法,最初由Cover和Hart于1968年提出的,是一个理论上比较成熟的方法。该方法的思路非常简单直观:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)样本中的大多数属于某一个类别,则该样本也属于这个类别。该方法在分类决策上只依据最邻近的一个或者几个样本的类别来决定待分类样本所属的类别。 该算法较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。
  • 268. 7.1 概述SVM分类方法 即支持向量机(Support Vector Machine)法,由Vapnik等人于1995年提出,具有相对优良的性能指标。该方法是建立在统计学习理论基础上的机器学习方法。通过学习,SVM可以自动寻找出那些对分类有较好区分能力的支持向量,由此构造出的分类器可以最大化类与类的间隔,因而有较好的适应能力和较高的分准率。该方法只需要由各类域的边界样本的类别来决定最后的分类结果。 SVM法对小样本情况下的自动分类有着较好的分类结果。
  • 269. 7.1 概述VSM分类方法 即向量空间模型(Vector Space Model)法,由Salton等人于60年代末提出。这是最早也是最著名的信息检索方面的数学模型。其基本思想是将文档表示为加权的特征向量:D=D(T1,W1;T2,W2;…;Tn,Wn),然后通过计算文本相似度的方法来确定待分类样本的类别。当文本被表示为空间向量模型的时候,文本的相似度就可以借助特征向量之间的内积来表示。 VSM法相对其他分类方法而言,更适合于专业文献的分类。
  • 270. 一方面,预测与分类相似 首先,构建模型 其次,使用模型预测未知值 预测的主要方法是回归 线性回归和多元回归 非线性回归 另一方面,预测不同于分类 分类预测的是类别,而非连续的数值7.1 概述
  • 271. 传统的预测方法 趋势外推法 时间序列法 回归分析法等 这些算法的原理简单,理论相对成熟,能用标准的技术来分析模型中的参数。 7.1 概述
  • 272. 趋势外推法 通常用描散点图的方法定性地确定变化趋势,再按照该变化趋势对未来情况作出预测,特点是不对其中的随机成分作统计处理。 7.1 概述
  • 273. 时间序列法 将因变量(预测目标)和自变量(影响预测目标的因素)均看成随机变量。实际问题中,多数预测目标的观测值构成的序列表现为(广义)平稳的随机序列或可以转化为平稳的随机序列。虽然在某一给定时刻预测目标的观测值是随机的,但从整个观测序列看,却呈现出某种随机过程(如平稳随机过程)的特性。随机时间序列方法正是依据这一规律性来建立和估计产生实际序列的随机过程的模型,然后用这些模型进行预测。 7.1 概述
  • 274. 回归分析法 假定同一个或多个独立变量存在相关关系,寻找相关关系的模型。不同于时间序列法的是:模型的因变量是随机变量,而自变量是可控变量。 分为线性回归和非线性回归。 目前多用多元线性回归模型。 7.1 概述
  • 275. 随着科学技术的迅速发展,预测理论也得到了长足的进步,出现了不少新的研究方法,综合起来主要包括: 人工神经网络(ANN)预测方法 专家系统预测方法 模糊预测方法 小波分析预测方法 优选组合预测方法等 7.1 概述
  • 276. 人工神经网络(ANN)预测方法 目前应用最广泛的短期预测方法。它是一种通用的非线性自适应函数估计器,通过对研究目标的历史数据训练,建立起复杂的非线性映射模型。它不依赖于输入变量和预测目标之间明确的表达式,输入变量和预测目标之间的关系通过训练过程来形成,避免了建模过程的困难;另一显著特征是它的自适应算法,在每一时刻都可以选择新的训练样本来估计和调整系统参数,得到预测值。现在多采用误差反向传播(BP)算法和径向基函数(RBF)方法。但是,它的隐层神经元个数不易确定,易陷入局部最优点,需要大量训练样本且训练时间较长。 7.1 概述
  • 277. 专家系统预测方法 基于知识建立起来的计算机系统,它拥有某个领域内专家们的知识和经验,能像专家们那样运用这些知识,通过推理作出决策。实践证明,专家系统预测不仅需要新技术的支持,同时也需要融合人类自身的经验和智慧。因此,需要专家系统的相关技术。但是,知识获取的“瓶颈”问题妨碍了专家系统的快速开发。 7.1 概述
  • 278. 模糊预测方法 建立在模糊数学理论上的一种预测新技术,模糊数学是用数学方法来研究和处理具有“模糊性”的现象。所谓模糊性主要是指有关事物差异的中间过渡中的不分明性,如温度值的“高与低”等,这些模糊现象很难明确划分其界限。 7.1 概述
  • 279. 小波分析预测方法 20世纪数学研究成果中最杰出的代表。它是一种时域—频域分析方法,在时域和频域上同时具有良好的局部化性质。 7.1 概述
  • 280. 优选组合预测方法(两种) 一是指将几种预测方法所得预测结果,选取适当权重进行加权平均; 二是指将几种预测方法进行比较,选择拟合优度最佳或标准离差最小的预测模型作为最优模型进行预测。 组合预测方法是建立在信息利用最大化的基础上,它集结多种单一模型所包含的信息,进行最优组合。因此,在大多数情况下,通过组合预测可以达到改善预测结果的目的。 7.1 概述
  • 281. 线性回归 Y =  +  X 利用实际数据估计参数  和  对已知值的Y1, Y2, …, X1, X2, …. 进行最小平方运算 多元回归 Y = b0 + b1 X1 + b2 X2. 很多非线性方程均可以转换为上述的形式 Log-linear 模型 The multi-way table of joint probabilities is approximated by a product of lower-order tables. Probability: p(a, b, c, d) = ab acad bcd7.1 概述
  • 282. Polynom算法 一个经典的多元回归算法。其原理如下: 设y为预测目标变量,x1,x2,……. xp为p个影响目标的因素。假定它们满足公式:y = a1x1+a2x22+……+apxpp,则可以根据已有的数据估算出系数a1,a2,……. ap的变化,从而作出预测。 7.1 概述
  • 283. 数据的预测
  • 284. 类别的预测
  • 285. 7.2 神经网络 人工神经网(Artificial Neural Network,ANN)是20世纪80年代后期迅速发展起来的人工智能技术,它对噪声数据具有很高的承受能力,对未经训练的数据具有分类模拟的能力,因此在网站信息、生物信息和基因以及文本的数据挖掘等领域得到了越来越广泛的应用。在多种ANN模型中,反向传播(Back Propagation,BP)网络是应用最广的一种。
  • 286. 神经元 通过非线性函数n维的输入向量 x 被映射为变量 ymk-fweighted sumInput vector xoutput yActivation functionweight vector wåw0w1wnx0x1xn
  • 287. 神经网络的组成输出节点输入节点隐层节点输入矢量输入矢量: xiwij基本的BP网络由输入层、输出层和隐层组成。
  • 288. (本页无文本内容)
  • 289. 神经网络的拓扑结构 神经网络训练之前,需要设计网络拓扑结构。设计网络拓扑的关键是,确定隐层的神经元个数及各神经元初始权值和阈值(偏差)。理论上讲,隐层的神经元数越多,逼近越精确。但实际上,隐层神经元数不宜过多;否则会极大加长训练时间,并造成网络容错能力下降。经训练后的神经网络若其准确性不能被接受,则必须重新进行拓扑设计或改用不同的初始权值和阈值(偏差)。
  • 290. 神经网络的训练训练的终止条件 获得一组权重值,使得训练集中几乎所有样本都分类正确 训练步骤 利用随机值对权值进行初始化 将训练样本逐一地输入给神经网络,进行训练 对于每个神经元 将其所有的输入值进行线性求和计算得到总的输入 利用激励函数计算其输出值 计算误差 修正网络权值和阈值(偏差)
  • 291. BP神经网络 BP神经网络通过迭代处理一组训练样本,将各样本的网络预测与实际已知类标号进行比较实现学习训练,反向修改网络的权值,使得网络预测与实际类之间的误差平方最小。BP神经网络按照最优训练准则反复迭代,确定并不断调整神经网络结构,通过迭代修改,当误差收敛时学习过程终止。 因此,具有分类准确、收敛性好、动态性好和鲁棒性强等优点。
  • 292. BP神经网络存在的问题收敛速度问题 BP分类器最大的弱点是其训练速度非常缓慢,难以收敛。尤其是当网络的训练达到一定程度后,收敛更为缓慢。 局部极小点问题 BP算法采用的是梯度下降法,对一个复杂的网络而言,其误差曲面是一个高维空间中的曲面,其中分布着许多局部极小点,一旦陷入了局部极小点则算法很难逃离出来。
  • 293. BP神经网络存在的问题网络瘫痪问题 在训练过程中,权值可能变得很大,这会使神经元的网络输入变得更大,从而使得其激励函数的一阶导函数在此点上的取值很小。此时的训练步长会变得非常小,最终导致网络停止收敛,这种现象即是所谓的网络瘫痪现象。
  • 294. 7.3 决策树 决策树分类是用属性值对样本集逐级划分,直到一个节点仅含有同一类的样本为止。 决策树首先起源于Hunt等人提出的概念学习系统(Concept Learning System,CLS),然后发展到Quinlan的ID3算法,最后演化为能处理连续属性值的C45算法。
  • 295. 7.3 决策树决策树的输入 一组带有类别标记的样本 决策树的输出 一棵二叉或多叉树。 二叉树的内部节点(非叶子节点)一般表示为一个逻辑判断,如形式为(ai=vi)的逻辑判断,其中ai是属性,vi是该属性的某个属性值;树的边是逻辑判断的分支结果。 多叉树(ID3)的内部节点是属性,边是该属性的所有取值,有几个属性值,就有几条边。树的叶子节点则是类别标记。
  • 296. 7.3 决策树决策树的构造 采用自上而下的递归构造。 以多叉树为例,其构造思路是:如果训练样本集中所有样本是同类的,则将它作为叶子节点,节点内容即是该类别标记;否则,根据某种策略选择一个属性,按照属性的不同取值,将样本集划分为若干子集,使得每个子集上的所有样本在该属性上具有同样的属性值。然后再依次处理各个子集。实际上就是“分而治之”(divide-and-conquer)的策略。二叉树同理,差别仅在于要选择一个好的逻辑判断。
  • 297. 7.3 决策树决策树构造的条件 构造好的决策树的关键是:如何选择好的逻辑判断或属性。对于同样一组样本,可以有很多决策树能符合这组样本。研究表明,一般情况下,树越小则树的预测能力越强。要构造尽可能小的决策树,关键在于选择恰当的逻辑判断或属性。由于构造最小的树是NP问题,因此只能采用启发式策略选择好的逻辑判断或属性。
  • 298. 7.3 决策树 实际中,用于模型学习的训练数据往往不是完美的,原因是: ①某些属性字段上缺值(missing values); ②缺少必需的数据而造成数据不完整; ③数据不准确含有噪声甚至是错误的。 此时,需要克服噪声和决策树剪枝。
  • 299. 7.3 决策树 基本的决策树构造算法没有考虑噪声,生成的决策树完全与训练样本拟合。在有噪声的情况下,完全拟合将导致过分拟合(overfitting),即对训练数据的完全拟合反而不具有很好的预测性能。
  • 300. 7.3 决策树剪枝技术 是一种克服噪声的技术,同时它也能使树得到简化而变得更容易理解。 剪枝的类型 - 向前剪枝(forward pruning)在生成树的同时决定是继续对不纯的训练子集进行划分还是停机。 - 向后剪枝(backward pruning)是一种两阶段法:拟合-化简(fitting-and-simplifying),首先生成与训练数据完全拟合的一棵决策树,然后从树的叶子开始剪枝,逐步向根的方向剪。
  • 301. 7.3 决策树剪枝的局限性 剪枝并不是对所有的数据集都好,就象最小树并不是最好(具有最大的预测率)的树。当数据稀疏时,要防止过分剪枝(over-pruning)。从某种意义上而言,剪枝也是一种偏向(bias),对有些数据效果好而有些数据则效果差。
  • 302. Attributes = {Outlook, Temperature, Humidity, Wind}OutlookHumidityWindsunnyrainovercastyesnoyeshighnormalnostrongweakyesPlayTennis = {yes, no}打高尔夫球的决策树实例(自顶向下)
  • 303. 根据加薪百分比、工作时长、法定节假日、及医疗保险三个属性来判断一个企业的福利状况(good或bad)。
  • 304. CLS算法CLS (Concept Learning System)系统 以一棵空决策树开始,并通过增加结点逐步求精,直到产生一棵能正确分类训练样本的决策树为止,是一个循环递归过程。设PN为已知训练子集,则: 1 (1)如果PN中的所有样本均为正例,则生成一个YES结点并终止;如果PN中的所有样本均为反例,则生成一个NO结点并终止;否则,根据某种启发策略选择一个属性A,设A取值为υ1,υ2…υr,并生成新结点。 2 (2)将PN中的样本根据其属性A的取值加以划分,生成r个子集记为PN1,PN2…PNr。 (3)递归地应用该算法到每个子集PNi。
  • 305. CLS算法CLS算法的局限性 分类属性的选择决定了算法的效率与所生成的决策树的繁简程度、预测效果。选择属性是决策树归纳算法的关键。 CLS算法可以产生所有可能的决策树,正确分类训练样本,并能选择最简单的决策树。但是属性选择的不确定性,在实际应用中往往受问题大小的限制。
  • 306. ID3算法 Quinlan提出的ID3算法,对CLS算法做出了改进。它的基本算法仍然来自于CLS,但使用熵来选择属性,效果非常理想。 举例 根据天气状况决定某天早上是否合适打高尔夫球,合适的属于正例记为P,不合适的属于反例记为N。天气由四个属性描述,即 outlook(天气形势)取值分别为sunny,overcast和rain; temperature(温度)取值分别为cool,mild和hot; humidity(湿度)取值为normal和high; windy(风) 取值为false和true
  • 307. outlook temperature humidity windy class 1 sunny hot high false N 2 sunny hot high true N 3 overcast hot high false P 4 rain hot high false P 5 rain cool normal false P 6 rain cool normal true N 7 overcast cool normal true P 8 sunny mild high false N 9 sunny cool normal false P 10 rain mild normal false P 11 sunny mild normal true P 12 overcast mild high true P 13 overcast hot normal false P 14 rain mild high true N 表 打高尔夫球天气情况的样本集(14个)    
  • 308. ID3 算法举例其中p=9,n=5。 gain(outlook) = I(p,n) - E(outlook) = 0.940 - 0.694 = 0.246
  • 309. ID3 算法举例 类似地,可得: gain(temperature) = 0.029 gain(humidity) = 0.151 gain(windy) = 0.048 因此,outlook具有最大的信息增益,因此outlook被选为根结点并向下扩展,通过类似的方法,得到相应的ID3决策树。
  • 310. (本页无文本内容)
  • 311. ID3算法优势 算法理论清晰 方法简单 学习能力较强 不足之处 对较小的数据集有效 对噪声比较敏感 当数据集增大时,决策树可能会改变。
  • 312. C45算法C45算法 ID3有很多改进算法,其中Quinlan在1994年开发出的C45算法流行最广。 C45的改进主要体现在两方面: (1)解决了连续数据值的学习问题; (2)提供了将学习结果决策树到等价规则集的转换功能。
  • 313. C45算法C45算法 C45属于一种归纳学习算法。归纳学习(Inductive Learning)旨在从大量经验数据中归纳抽取一般的判定规则和模式,它是机器学习(Machine Learning)中最核心、最成熟的一个分支。 根据有无导师指导,归纳学习又分为有导师学习(Supervised Learning,又称为示例学习)和无导师学习(Unsupervised Learning)。 C45属于有导师的学习算法。
  • 314. C45算法示例学习算法分为两大类: 覆盖算法(covering algorithms) 分治算法(divide-and-conquer algorithms) 前者归纳生成规则,后者归纳生成决策树。
  • 315. Autoclass算法Autoclass算法 是一个基于Bayesian网络的无监督的分类算法,该算法可以处理连续和离散的属性。对于连续属性值,用户应先验说明属性的概率分布类别(比如正态分布);而对于离散属性,用户可以说明属性可能的所有取值。 Autoclass算法可以把属性单独考虑,也可以先验说明某些属性的联合分布。该算法根据先验的概率分布类别,探索性地将数据集多次分成不同个数的类,然后比较这些分类,给出较优的几个结果。
  • 316. 其它的分类算法基于案例推理的分类 基于遗传算法的分类 基于粗糙集的分类 基于模糊集的分类
  • 317. 构建模型:预设分类类别 对每个样本进行类别标记 训练集构成分类模型 分类模型可表示为:分类规则、决策树或数学公式 使用模型:识别未知对象的所属类别 模型正确性的评价 已标记分类的测试样本与模型的实际分类结果进行比较 模型的正确率是指测试集中被正确分类的样本数与样本总数的百分比。测试集与训练集相分离,否则将出现过拟合( over-fitting )现象。7.4 实现过程
  • 318. 分类的实现—模型构建Training DataClassification AlgorithmsIF rank = ‘professor’ OR years > 6 THEN tenured = ‘yes’ Classifier (Model)
  • 319. 分类的实现—利用模型预测ClassifierTesting DataUnseen Data(Jeff, Professor, 4)Tenured?
  • 320. 8 关联分析 8.1 概述 8.2 Apriori 8.3 FP-Growth
  • 321. 关联 自然界中某种事物发生时其他事物也会发生,则这种联系称之为关联。反映事件之间依赖或关联的知识称为关联型知识(又称依赖关系)。 关联的类型 分为简单关联、时序关联、因果关联。 8.1 概述
  • 322. 8.1 概述关联规则 关联是两个或多个变量取值之间存在的一类重要的可被发现的某种规律性。
  • 323. 8.1 概述关联规则的数学定义 先设I={i1, i2, ...,im }是一个以m个不同项为元素的集合,T是针对I的交易的集合,每一笔交易包含若千个属于I的项。关联规则可表示为X=>Y,其中X,Y  I 且 X  Y=  X称为规则的前提或前项,Y称为结果或后项。每一规则有两个度量标准,即支持度(Support)和可信度(Confidence) 规则的支持度定义为: support (X=>Y) =support (X U Y) 规则的可信度定义为: confidence(X=> Y)=support(X U Y)/support(X)
  • 324. 8.1 概述关联规则的形式 R: X=> Y 其中,X及Y是两个不相交的集合,即X,YI且X Y= 关联规则可以理解为一个命题,即如果一个交易支持项集X,则它也以一定的可能性支持项集Y,这一可能性称之为规则的可信度,记为conf(R)或C (R)
  • 325. 8.1 概述举例 规则形式: Body ® Head [support, confidence] buys(x, “diapers”) ® buys(x, “beers”) [0.5%, 60%] major(x, “CS”) ^ takes(x, “DB”) ® grade(x, “A”) [1%, 75%]
  • 326. 8.1 概述关联规则的性质 -规则的非结合性 -规则的不可分解性 -规则的不可传递性 -规则的可扩展性
  • 327. 关联规则挖掘实例 通过发现顾客放入其购物篮中不同商品之间的联系,分析顾客的购买习惯。通过了解哪些商品频繁地被顾客同时购买,这种关联的发现可以帮助零售商制定营销策略。例如,在同一次购物中,如果顾客购买牛奶的同时,也购买面包(和什么类型的面包)的可能性有多大? 这种信息可以引导销售,可以帮助零售商有选择地经销和安排货架。例如,将牛奶和面包尽可能放近一些,可以进一步刺激一次去商店同时购买这些商品。
  • 328. 关联规则挖掘实例购物篮关联分析实例图
  • 329. 8.1 概述Customer buys diaperCustomer buys bothCustomer buys beer“啤酒与尿布”的关联规则
  • 330. For rule A  C support = support({A C}) = 50% confidence = support({A C})/support({A}) = 66.6% For C  A (50%, 100%) The Apriori principle: Any subset of a frequent itemset must be frequentMin. support 50% Min. confidence 50%关联挖掘实例
  • 331. 8.1 概述典型算法 AIS 算法(R. Agrawal等提出) Apriori算法(及变种AprioriTid和AprioriHybrid)) SETM 算法(M. Houtsma等提出) DHP 算法(J. Park等提出) PARTITION 算法(A.Savasere等提出) Sampling 算法(H.Toivonen提出) FP-growth 算法(Jiawei Han提出)
  • 332. 8.1 概述AIS算法的主要思想 其主要思想是一边扫描数据库,一边产生候选项集并累计支持度。具体地说,在对数据库进行第k次扫描时,候选项集是由第k-1次扫描所产生的边界集(frontier set)通过增加当前事务中的项得到,同时计算候选项集中元素的支持数,直到某次扫描所产生的边界集为空。 缺点:生成的候选项集太大。
  • 333. 8.1 概述Apriori算法的主要思想 该算法利用了频繁项集所具有的任意频繁项集的子集都是频繁项集的这一性质对数据库进行多次扫描:第一次扫描得到频繁项集的集合L0 ,第k趟扫描前先利用上次扫描的结果项目集Lk-1,产生候选k项集的集合Ck ,然后再通过扫描数据库确定C中每一候选k项集的支持数,最后在该次扫描结束时求出频繁k项集的集合Lk ,算法的终止条件是Ck或Lk为空。 优点:所产生的候选项集比AIS算法少得多,效率较高。事实上,它被视为关联规则挖掘最经典的算法,其他很多算法都是其变种或改进。
  • 334. 8.1 概述SETM算法的主要思想 该算法实际也是AIS算法的变形。SETM把候选集的产生和累计分开,在一个线性存储结构里存储了所有候选集和相应的交易的标识符(TID)。每次扫描结束后,不再读取数据库,而是对TID进行排序并累计各个候选集的支持度。其思想是扫描候选集的编码(TID)来代替扫描数据库,实质上是把数据库中与支持有关的信息单独提取出来,构成一个较小但充分的TID库。这种做法大大减少了数据库访问的时间。 缺点:候选项集过大。
  • 335. 8.1 概述DHP算法的主要思想 该算法利用散列表(hash table)产生候选集,是对Apriori算法的直接改进。在遍历一次数据库得到候选k--项集的支持度,得到频繁k一项集后,DHP算法将每一个事务的可能的(k+1)--项集通过哈希规则形成散列表。散列表的每一栏包括所有通过散列规则映射到该栏中的项集的数目。根据结果的散列表,可以生成一个位向量,当散列表中对应的该栏中的数值大于或者等于最小支持时,对应的位置为1,否则为0。用该向量可以过滤掉下一次生成候选时所不必要的项集:如某候选项在向量中对应位的值为0,则舍弃。这对候选2--项集的产生尤为有效,可以在第二次就大大减小候选集的规模。
  • 336. DHP算法优点 在某些场合,DHP算法的效率比Apriori算法明显提高。8.1 概述
  • 337. 8.1 概述PARTITION算法的主要思想 该算法主要针对大型数据库,包括两部分: (1)将目标数据库分为n个互不相交的子数据库D1,…,Dn,每个Di(i=1, 2,⋯,n)的大小都要能容纳在内存中。然后把每个Di,读入内存并按一般算法发现频繁项集Li。再把所有的Li合并为数据库D的潜在频繁项集PL =Ui Li; (2)计算潜在频繁项集PL在D中的支持度,得出频繁项集L。
  • 338. 8.1 概述Sampling算法的主要思想 对数据库D进行随机抽样得到抽样事务数据库D’,先以小于指定的支持度( minsup)挖掘D’中的频繁项集L’,再在剩余的数据集D-D’中继续计算L’中各元素的支持数,最后再以minsup求出L。这在大多数情况下就可以求得所有的频繁项集,但是有时会漏掉一些。这时可以对D进行二次扫描以发现漏掉的频繁项集。 优点:多数情况下只需对数据库扫描一次,最坏情况下也只需扫描两次。
  • 339. 8.1 概述Apriori 算法的实现 (1)由候选项集(candidate itemset)产生频繁项集(frequent itemset); (2)由频繁项集(frequent itemset)产生强关联规则(strong association rule)。
  • 340. 8.1 概述Apriori算法的基本流程 使用逐层搜索的迭代方法,通过对数据库的多次扫描发现所有的频繁项集。在每一趟扫描中只考虑具有同一长度k(即为项集中所含项目的个数)的所有项集。算法的第一次扫描仅仅计算每个项目的具体支持度,以确定长度为1的频繁项集。在后继的每一次扫描中,首先使用在前一次获得的频繁项集Lk-1和Apriori-gen函数产生的候选项集q,接着扫描数据库,计算Ck中候选项的支持度,最后确定候选项集中哪些真正成为频繁项集。重复上述过程直到再也发现不了新的频繁项集为止。
  • 341. Database DScan DC1L1L2C2C2Scan DC3L3Scan D8.2 Apriori算法设定最小支持度阈值为2
  • 342. 交易号 项集合 T100 I1,I2,I5 T200 I2,I4 T300 I2,I3 T400 I1,I2,I4 T500 I1,I3 T600 I2,I3 T700 I1,I3 T800 I1,I2,I3,I5 T900 I1,I2,I3 设定最小支持度阈值为2
  • 343. 扫描D,对每个候选项计数,生成C1:项集 支持度计数 {I1} 6 {I2} 7 {I3} 6 {I4} 2 {I5} 2
  • 344. 比较候选项支持度计数与最小支持度计数,生成L1: 项集 支持度计数 {I1} 6 {I2} 7 {I3} 6 {I4} 2 {I5} 2
  • 345. 由L1产生候选集C2: 项集 {I1,I2} {I1,I3} {I1,I4} {I1,I5} {I2,I3} {I2,I4} {I2,I5} {I3,I4} {I3,I5} {I4,I5}
  • 346. 再次扫描D,对每个候选项计数,产生L2: 项集 支持度计数 {I1,I2} 4 {I1,I3} 4 {I1,I5} 2 {I2,I3} 4 {I2,I4} 2 {I2,I5} 2
  • 347. 对L2进行连接&剪枝,产生C3,即最终结果。 项集 {I1,I2,I3} {I1,I2,I5}
  • 348. 8.2 Apriori算法算法Apriori 算法的局限性 由于依赖于候选项集产生频繁项集的理论(Apriori类算法)所开发的算法具有先天的弱点,使得在基于Apriori算法开发的应用没有实质性突破。 Han等提出的一种新的算法理论,用一种压缩的数据结构(FP-tree)存储关联规则挖掘所需的全部数据信息,通过对源数据的两次扫描,将数据信息存到这种结构里,避开了产生候选项集的步骤,极大地减少了数据交换和频繁匹配的开销。这就是所谓无候选项集产生的算法(Frequent Patterns Growth, FP-growth)。
  • 349. 8.3 FP-Grpwth算法改进的算法——FP-growth (1)它构造了一种新颖的、紧凑的数据结构FP-tree。它是一种扩展的前缀树结构,存储了关于频繁模式数量的重要信息。 (2)开发了基于FP-tree的模式片断成长算法,它从长度为1的频繁模式开始,只检查它的条件模式构建它的条件模式树,并且在这个树上递归地进行挖掘。模式的成长通过联合条件模式树新产生的后缀模式实现。 (3)挖掘过程中采用的搜索技术是基于分区的,通过分割再解决的方法,而不是Apriori类算法的自下向上产生频繁模式的集合。
  • 350. FP-growth算法的主要思想 该算法主要是为了克服类Apriori算法的产生候选项集的缺点,通过采用一种新的数据结构FP-tree来达到目的。 优点:只扫描数据库二次,并且不用产生候选项集,提高了效率。 8.3 FP-Grpwth算法
  • 351. 交易编号所有购物项(排序后的)频繁项100 f,a,c,d,g,i,m,p f,c,a,m,p 200 a,b,c,f,l,m,o f,c,a,b,m 300 b,f,h,j,o f,b 400 b,c,k,s,p c,b,p 500 a,f,c,e,l,p,m,n f,c,a,m,p 其中,最小支持度阈值为38.3 FP-Grpwth算法
  • 352. null{}b:1f:3c:1b:1p:1a:2b:1m:1f:2c:2a:3f:4c:3m:2p:23.f,b4.c,b,pf:1c:1m:1p:1a:11.f,c,a,m,p2.f,c,a,b,m5.f,c,a,m,pFP-growth算法树的构造 8.3 FP-Grpwth算法
  • 353. 生成的FP树 节点链性质对任意频繁项ai,顺着ai的节点链,从ai的头开始,可以找到包含ai的所有频繁模式。8.3 FP-Grpwth算法
  • 354. FP-growth 与 Apriori比较Data set T25I20D10K
  • 355. 9 Web挖掘9.1 概述 9.2 Web文档抽取和表示 9.3 特征抽取 9.4 Web聚类 9.5 Web分类
  • 356. 9.1 概述 定义 -描述性的定义 Web挖掘是指使用数据挖掘技术在WWW数据中发现潜在的、有用的模式或信息。Web挖掘是一项综合技术,覆盖了多个研究领域,包括Web技术、数据库、数据挖掘、计算机语言学、信息获取、统计学以及人工智能等。 -抽象化的定义 一般地,Web挖掘是指从大量Web集合中发现隐含的模式。如果将看作输入,将看作输出,则Web挖掘就是一个从输入到输出的映射,即ξ:→。
  • 357. 9.1 概述 定义 -概括性的定义 Web挖掘是从与WWW相关的资源和行为中抽取感兴趣的、潜在的有用的模式和隐含信息。 Web挖掘可在很多方面发挥作用,如搜索引擎结构挖掘、确定权威页面、Web文档分类、Web日志挖掘和智能检索等。
  • 358. 9.1 概述 分类
  • 359. 9.2 Web文档抽取和表示 Web表示模型 -布尔模型 -概率模型 -向量空间模型
  • 360. 9.3 特征抽取 Web表示模型 -统计 -TFIDF -互信息
  • 361. 9.4 Web聚类 实现步骤 -模式表示,包括特征抽取以及把Web文档表示成可计算的形式; -根据领域知识定义模式之间的距离测度公式; -聚类或者分组; -评价输出结果。
  • 362. 9.4 Web聚类主要困难 一个Web文档可能包含多个主题,允许属于不同主题的文档归入多个不同的簇。 高维诅咒问题,即由于文档特征项维度众多而造成处理效率严重降低。 海量文档的处理效率。 聚类效果评价。
  • 363. 9.5 Web分类
  • 364. 10 数据挖掘实例 10.1 客户细分 10.2 重入网识别 10.3 WAP日志挖掘
  • 365. 10.1 客户细分 客户群价值分布
  • 366. 10.1 客户细分客户消费行为的聚类结果
  • 367. 10.1 客户细分客户通话行为的聚类结果
  • 368. 10.2 重入网识别 识别过程 -确定待匹配用户和新入网用户清单。 -呼叫指纹识别需要建立新入网用户群和待匹配用户群两个数据集。 -选择特征变量和数据清洗 -建立呼叫指纹库 -设定呼叫指纹相似度阈值,大于该阈值的匹配用户对可界定为疑似重入网用户。 -验证
  • 369. 10.3 WAP日志挖掘分析过程 -数据整合 -聚类 -结果展示 -解释和评价
  • 370. 10.3 WAP日志挖掘序号类别名称订购行为特点营销方案1证券型此类用户对证 券、财经极其关 注。可以定向推送证券相关的增值信息(例如手机证券报),也可将与证券相关的内容进行打包,作为提升WAP业务订购的一种手段。关注证券相关内容的用户往往是非常活跃度用户,各种信息的获取需求很大,是点击次数产生的主要用户群。基于此用户群特质,可通过WAP内嵌广告的方式转化为收入,达到最佳的收入模式。2娱乐型此类用户对星 座、动漫非常关 注。通过此类用户的订购情况看,可以判断此用户群以年轻学生群体为主,接收新鲜事物很快,对价格敏感,有较强的发表观点的意愿,渴望自我实现。可以增加评论等社区功能,为用户主动推荐“娱乐”“时尚”等年轻人可能感兴趣的频道,充分迎合年轻群体的需求。3体育型、男性化此类用户对体 育、军事很感兴 趣。通过此类用户订阅情况看,可以判断用户群具有男性化的特质。对于体育方面的内容可以进行领域细分(如体育可分为篮球、足球等),提高用户获取信息的准确性。也可引入WAP赛事直播的方法,让对比赛感兴趣但无法收看电视转播的人群,通过文字的方式实时了解赛事情况,从而提高了产品的粘性。对于军事方面的内容,可以增加实事政治方面的内容推荐,让用户有一个更加全面的军事视角。根据男性特质的用户群还可以提供“创业”、“女性”相关内容,以开辟吸引此类用户的新内容领域。4成熟型此类用户对军 事、焦点评论、 证券很感兴趣。此用户群所感兴趣的内容有较强的深度,可归于成熟型用户。对这类用户最重要的就是所选内容的价值,若能够满足其对深度内容的需求,单个用户的ARPU值会较高。
  • 371. 数据挖掘的认识误区u  挖掘出的结果都是正确的 数据挖掘得出的结果一般都是经验性的,它并不是一条经过严格数学证明的定理(事实上数据挖掘得出的规则绝大多数不可证明)。例如数据挖掘号称能通过历史数据的分析来预测客户的行为,而事实上客户自己可能都不明确自己下一步要作什么。挖掘算法并不保证结果的完全正确,挖掘出的结果只具有概率上的意义,只具有参考价值。
  • 372. 数据挖掘的认识误区u  挖掘获得的模型可普遍适用 数据挖掘仅仅根据它所处理的数据得出结果,结果的适用范围受限于数据的选择。我们不能保证一个在美国运行得非常成功的银行信用卡客户信用评级模型在中国也同样可信;当然我们也不能保证一个零售业的客户利润分析模型同时适用于电信行业。
  • 373. 数据挖掘的认识误区u  数据挖掘可以完全自动化 当然数据挖掘可以做到完全的自动化,但是,挖掘结果对商业目标的价值不是挖掘算法所能判断的,用户需要在他们能理解的背景环境中,观察挖掘输出的结果并与之交互。很多时候一个挖掘目标的完成需要多次叠代的挖掘过程才能完成。在一定的意义上,一个半自动的数据挖掘环境可能是更好的。
  • 374. 数据挖掘的认识误区 数据挖掘是一个工具,而不是魔杖。它不会坐在数据库上一直监视着数据库,然后当发现有意义的模型时给管理者发一封电子邮件。它仍然需要了解用户的业务,理解用户的数据,弄清分析方法。数据挖掘只是帮助专业人士更深入、更容易的分析数据。而无法告知某个模型对企业的实际价值。而且数据挖掘中得到的模型必须在现实生活中进行验证。
  • 375. 11 知识11.1 概述 11.2 知识分类 11.3 知识表示 11.4 知识管理
  • 376. 11.1 概述信息 是事物运动的状态和状态变化的方式。 数据 指一个有关事实F的集合(如学生档案数据库中有关学生基本情况的各条记录),用来描述事物有关方面的信息。一般而言,这些数据都是准确无误的。 数据可能存储在数据库、数据仓库和其他信息资料库中。
  • 377. 11.1 概述知识 人们实践经验的结晶且为新的实践所证实的;是关于事物运动的状态和状态变化的规律;是对信息加工提炼所获得的抽象化产物。 知识的形式可能是模式、关联、变化、异常以及其他有意义的结构。
  • 378. 11.1 概述模式 对于集合F中的数据,我们可以用语言L来描述其中数据的特性,得出一个表达式E,E所描述的数据是集合F的一个子集FE。只有当表达式E比列举所有FE中元素的描述方法更为简单时,我们才可称之为模式。如:“如果成绩在81-90之间,则成绩优良”可称为一个模式,而“如果成绩为81、82、83、84、85、86、87、88、89或90,则成绩优良”则不能称之为一个模式。
  • 379. 11.2 知识分类显性知识 可以通过正常的语言方式传播的知识,典型的显性知识主要是指以专利、科学发明和特殊技术等形式存在的知识,存储在书本、计算机数据库、CD ROM中。显性知识是可以表达的、有物质载体的和可确知的。在OECD所划分的四类知识中,关于Know-what和Know-why的知识基本属于显性知识。 隐性知识或称为隐含经验类知识(Tacit Knowledge) 个人或组织经过长期积累而拥有的知识,通常不易用言语表达,也不可能传播给别人或传播起来非常困难。例如技术高超的厨师或艺术家可能达到世界水平,却很难将自己的技术或技巧表达出来从而将其传播给别人或共享。隐性知识对应的是OECD分类中Know-how和Know-who的知识,其特点是不易被认识到、不易衡量其价值、不易被其他人所理解和掌握。
  • 380. 11.3 知识表示
  • 381. 11.3 知识表示产生式系统 自然界的各种知识单元之间存在着大量的因果关系,这些因果关系或者前提与结论的关系,采用产生式(或称规则)表示是非常方便的。实际上,谓词公式的蕴含关系就是产生式的特例,如“天下雨,地上湿了”。
  • 382. 11.3 知识表示语义网络 语义网络是对对象及其属性分类知识编码的图形结构。语义网络是一种由节点及节点间带标记的连接弧组成的有向图,其中节点表示事物、对象、状态和概念等,有两类;连接弧表示节点间的关系,有三类,可用标记说明具体的语义关系。
  • 383. 语义网络实例
  • 384. 11.3 知识表示概念图 概念图以图形表示就是一种有向连通图,包括概念结点和概念关系结点两种。弧的方向代表概念结点和概念关系结点之间的联系。概念结点表示问题领域中的一个具体的或抽象的实体,概念关系结点表示概念结点之间的联系。
  • 385. 概念图实例
  • 386. 11.3 知识表示框架 框架通常由描述事物的各个方面的槽组成,每个槽可以有若干个侧面,而每个侧面又可以有若干个值。 框架是一种通用的知识表达方法,对于如何运用框架还没有一种统一的形式,常常由各种问题的不同需要决定。
  • 387. 框架实例
  • 388. 11.4 知识管理目标 -知识的发布,以使一个组织内的所有成员都能应用知识; -确保知识在需要时是可得的; -推进新知识的有效开发; -支持从外部获取知识; -确保知识、新知识在组织的扩散; -确保组织内部的人知道所需知识在何处。
  • 389. 11.4 知识管理框架 框架通常由描述事物的各个方面的槽组成,每个槽可以有若干个侧面,而每个侧面又可以有若干个值。 框架是一种通用的知识表达方法,对于如何运用框架还没有一种统一的形式,常常由各种问题的不同需要决定。
  • 390. 12 语义网和本体 12.1 语义网 12.2 本体
  • 391. 12.1 语义网层次结构
  • 392. 12.1 语义网Unicode和URI层 Unicode和URI是整个语义网的基础,其中Unicode负责资源的编码,URI负责资源的标识。 XML、Name Space 和 XML Schema XML已经成为数据表示和数据交换的事实标准,提供一种格式自由的语法,用户可以按照自己的需要创建标记集,并使用这些标记编写XML文档。XML Schema提供了一种对XML文档进行数据校验的机制,基于XML语法提供多种数据类型,对XML标记的结构和使用方法进行了规范。XML Query是在XML基础上发展起来的技术标准,类似的还有XPath等,使用这些技术可以对XML文档进行数据检索、提取节点等操作。
  • 393. 12.1 语义网RDF和RDF Schema层 RDF采用三元组又称为陈述(Statement),表示互联网的资源、属性和值。三元组由主体(Subject),谓词(Predicate)和客体(Object)组成,分别对应陈述中的资源、属性和值。RDF提供了一套标准的数据语义描述规范,但它还需要定义描述中使用的词汇。RDF Schema(RDFS)提供了一种面向计算机理解的词汇定义,提供了描述类和属性的能力。RDFS在RDF的基础上引入类、类之间的关系、属性之间的关系以及属性的定义域与值域等。如同一部字典,计算机通过它可以理解数据的含义。
  • 394. 12.1 语义网本体(Ontology)层 该层用于描述各种资源之间的联系,本体揭示了资源本身及资源之间更为复杂和丰富的语义,从而将信息的结构和内容分离,对信息进行完全形式化的描述,使Web信息具有计算机可理解的语义。因为本体定义了不同概念间的关系,所以本体层能够对字典(或词汇)的演化提供支持。
  • 395. 12.1 语义网逻辑(Logic)层 该层用来产生规则,主要提供公理和推理规则,为智能推理提供基础。 证明(Proof)层 证明层执行逻辑层产生的规则,主要提供认证机制,并结合信任层的应用机制评判是否能够信赖给定的证明。 信任(Trust)层 主要提供信任机制,以保证用户代理(Agent)在Web上进行个性化服务和交互更安全可靠。
  • 396. 12.2 本体定义 支持知识共享和重用的形式化结构,将信息的结构和内容分离,实现对信息进行完全形式化的描述,为信息提供一个统一的共同表达的语义结构。 作用 -为人类和应用系统提供一个对于主题的共同理解。 -为不同来源的信息合成,提供一个共同的相关领域的理解。 -为在不同的应用程序之间共享信息和知识,描述应用程序的领域,定义术语及其关系。
  • 397. 12.2 本体开发工具Jena Jena是一套开发语义网应用的Java API,包括对RDF、RDFS和OWL描述的本体模型的解析、创建和串行化等。SPARQL语句的解析,转化为SQL以及基于规则的推理引擎。 Jena提供了读取、创建和输出模型的Java API。其主要的数据结构是图,但是用户操作主要还是在模型上进行。基本的方法是通过ModelFactory建立模型,然后通过模型创建资源(URI),再通过资源添加属性,逐步构成一个图。
  • 398. 12.2 本体分类 -顶级(Top-level)本体描述的是最普遍的概念及概念之间的关系,如空间、时间、事件、行为等,与具体应用无关,其他本体均为其特例; -领域本体(Domain Ontology)描述的是特定领域中的概念和概念之间的关系; -任务本体(Task Ontology)描述的是特定任务或行为中的概念及概念之间的关系; -应用本体(Application Ontology)描述的是依赖于特定领域和任务的概念和概念之间的关系。
  • 399. 12.2 本体构建方法 -骨架法 -IDEF-5方法 -循环获取过程
  • 400. 谢谢!