1 / 41

分类和预测

分类和预测. 什么是分类?什么是预测 关于分类和预测的一些问题 使用决策树进行分类 用 Excel 来演示决策树 用 Matlab 演示决策树. 分类和预测. 分类 类标签属性的确定 基于训练集形成一个模型,训练集中的类标签是已知的。使用该模型对新的数据(测试集)进行分类 预测: 对连续性字段进行建模和预测。 典型应用 信用评分 目标市场定位 医疗诊断 治疗结果分析. 分类的两个步骤. 模型创建: 描述一组预先确定的类 每一条记录都属于一个预先定义的类别,我们使用类标签属性来标识类别。 用于创建模型的数据集叫: 训练集

asis
Download Presentation

分类和预测

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 分类和预测 • 什么是分类?什么是预测 • 关于分类和预测的一些问题 • 使用决策树进行分类 • 用Excel来演示决策树 • 用Matlab演示决策树

  2. 分类和预测 • 分类 • 类标签属性的确定 • 基于训练集形成一个模型,训练集中的类标签是已知的。使用该模型对新的数据(测试集)进行分类 • 预测: • 对连续性字段进行建模和预测。 • 典型应用 • 信用评分 • 目标市场定位 • 医疗诊断 • 治疗结果分析

  3. 分类的两个步骤 • 模型创建: 描述一组预先确定的类 • 每一条记录都属于一个预先定义的类别,我们使用类标签属性来标识类别。 • 用于创建模型的数据集叫:训练集 • 模型可以用分类规则,决策树,或者数学方程的形式来表达。 • 模型使用: 用创建的模型预测未来或者类别未知的记录的类别 • 估计模型的准确率 • 使用创建的模型在一个测试集上进行预测,并将结果和实际值进行比较 • 准确率是测试集中被正确分类的对象的比率 • 测试集和训练集是独立的。

  4. 训练集 模型 分类过程(1):模型创建 分类算法 IF rank = ‘professor’ OR years > 6 THEN tenured = ‘yes’

  5. 模型 测试集 未知数据 分类过程 (2): 使用模型 (Jeff, Professor, 4) Tenured?

  6. 有监督和无监督学习 • 有监督学习 (分类) • 训练集是带有类标签的 • 新的数据是基于训练集进行分类的。 • 无监督学习(聚类) • 训练集的类标签未知。 • 给定一组测度(度量)或观察,然后寻找出训练集中存在类别或者聚类。

  7. 分类和预测 • 什么是分类?什么是预测 • 关于分类和预测的一些问题 • 使用决策树进行分类 • 用Excel来演示决策树 • 用Matlab演示决策树

  8. 关于分类和预测的一些问题 (1): 数据准备 • 数据清洗 • 对数据进行预处理,消除噪音,处理缺失值。 • 相关性分析 (属性选择) • 去掉不相关或者冗余的属性 • 数据转换 • 规范化或者对数据进行标准化

  9. 关于分类和预测的问题 (2): 评估分类方法 • 预测准确率 • 速度 • 创建速度 • 使用速度 • 强壮性 • 处理噪音和丢失值 • 伸缩性(规模化) • 对磁盘驻留数据的处理能力 • 可解释性: • 对模型的可理解程度。 • 规则好坏的评价 • 决策树的大小 • 分类规则的简明性

  10. 分类和预测 • 什么是分类?什么是预测 • 关于分类和预测的一些问题 • 使用决策树进行分类 • 用Excel来演示决策树 • 用Matlab演示决策树

  11. 使用决策树归纳进行分类 • 决策树 • 一个类似流程图的树结构 • 内部节点表示在一个属性上的测试 • 每个分枝表示测试的结果 • 叶子节点表示类或一个类分布 • 决策树生成算法分成两个步骤 • 树的创建 • 初始时,所有的训练例子都在根节点 • 根据被选属性,递归地对例子进行划分 • 树的修剪 • 识别并去掉那些反映噪音或者异常的分枝 • 决策树使用: 对未知样本进行分类 • 对照决策树测试样本的属性值

  12. 训练集 例子源自Quilan的ID3算法

  13. 输出: 关于购买电脑的一棵决策树 age? <=30 overcast >40 30..40 student? credit rating? yes no yes fair excellent no yes no yes

  14. 决策树算法 • 基本算法(贪心算法) • 树的建立是自上而下递归的分而治之的方法 • 初始时,所有的训练例子都在根节点 • 属性都是类别字段 (如果是连续的,将其离散化) • 所有例子根据所选属性递归地进行划分 • 属性的选择是基于一个启发式规则或者一个统计的度量 (如, information gain, 信息增益) • 停止划分的条件 • 给定节点的所有样本都属于同一个类 • 没有剩余的属性可以用于进一步划分样本 • 分枝没有样本可划分了

  15. 属性选择的统计度量 • Information gain (ID3/C4.5) • 所有属性都假定为类别型属性 • 经过修改之后可以适用于连续型属性 • Gini index (IBM IntelligentMiner) (仅供参考) • 所有属性都假定为连续型属性 • 对每个属性假定存在着几种可能的拆分值 • 可能需要利用其他的工具, 如聚类, 获得可能的拆分值 • 可以修改,以适用于类别型属性

  16. 信息增益 • 信息增益是一种基于熵的测度 • 信息增益可定义如下: 已知: • 被分好类的一组例子E(或称样本) • E的一个划分P= {E1, ..., En} ig(E,P)=entropy(E)- i=1,...,nentropy(Ei)*|Ei|/|E|

  17. 信息理论中的Shannon熵 • 一般不确定性问題所包含“不确定”(uncertainty) 的程度可以用数学來定量地描述吗? • 信息理论:Shannon熵, 1940年代末 • 硬币反正面的不确定性 • 均匀 • 不均匀 • 数学描述

  18. Shannon熵的数学描述 • 假设样本空間 (Sample space) X有 n的基本事件 (events),其基本事件 wi的概率为 pi, i=1,2,…,n。我們記之為 。 ,i=1,2,…n • 表示不确定性

  19. 不确定性函数应满足的条件 • (i)对于固定的n, H是(p1,p2,…pn)的连续函数 • (ii)对于pi=1/n, H应是n的单调递增函数 • (iii)若某一试验分解成多个相继的试验,则原先的 H值应为相应的各个 H值的加权和 (weighted sum)。

  20. 图示

  21. Shannon熵 • 定理:满足条件(i)、(ii)和(iii)的函数 H恰好具有形式 其中 K为某个固定正常数。 • Shannon熵: 由公式 定义的数,称为对应于样本空间(X, p1,p2,…,pn)的熵

  22. 信息增益(Information Gain) • 原来的不确定性 • 知道x之后的不确定性 • 信息增益: 原来-知道x之后的

  23. 信息增益(Information Gain) • 选择属性的标准:选择具有最高信息增益(Information Gain)的属性 • 假设有两个类,P和N • 假设集合S中含有p个类别为P的样本,n个类别为N的样本 • 将S中一个已知样本进行分类所需要的期望信息定义为:

  24. 信息增益在决策树中的使用 • 假设使用属性A将把集合S划分成 V份 {S1, S2 , …, Sv} • 如果Si中包含 pi个类别为 P的样本,ni个类别为N,的样本。那么熵就是 (entropy), • 在A上进行分枝所获得的编码信息为:

  25. Class P: buys_computer = “yes” Class N: buys_computer = “no” I(p, n) = I(9, 5) =0.940 Compute the entropy for age: Hence Similarly 使用信息增益进行属性选择

  26. 例子(1)

  27. 例子(2)

  28. 例子(3)

  29. Gini Index (IBM IntelligentMiner) • 集合T包含N个类别的记录,那么其Gini指标就是 pj类别j出现的频率 • 如果集合T分成两部分 N1 and N2 。那么这个分割的Gini就是 • 具有最小Ginisplit的属性就被选择用来拆分节点(对于每个属性都要列举所有可能拆分点).

  30. 生成决策树的基本算法(1) • 算法 Generate_decision_tree(samples, attribute_list) • 输入: 训练样本 samples, 由离散值属性表示;候选属性的集合attribute_list. • 输出:一棵决策树 • 算法: (1) 创建节点N; (2) 如果samples都属于同一个类C那么 (3)返回N作为叶节点, 以类C标记; (4)如果attribute_list为空则 (5)返回N作为叶节点, 将该叶节点标识为samples中最普遍的类

  31. 生成决策树的基本算法(2) (6) 选择attribute_list中具有最高信息增益的属性test_attribute; (7)标记节点N为test_attribute; (8)对于每个test_attribute中的已知值ai (9)由节点N长出一个条件为test_attribute=ai的分枝; (10)设si是Samples中test_attribute=ai的样本集合; (11)如果si为空则 (12)加上一个树叶, 标记为samples中最普遍的类; (13)否则 加上一个由Generate_decision_tree(si,attribute_list-test_attribute)返回的节点;

  32. 从树中生成分类规则 • 用 IF-THEN这种形式来表示规则 • 对从根到叶节点的每条路径创建一条规则 • 沿着一条路径的每个属性值对构成“并”连接 • 叶子节点中的类别就是所预测的类 • 规则更容易被人们理解 • 例子 IF age = “<=30” AND student = “no” THEN buys_computer = “no” IF age = “<=30” AND student = “yes” THEN buys_computer = “yes” IF age = “31…40” THEN buys_computer = “yes” IF age = “>40” AND credit_rating = “excellent” THEN buys_computer = “yes” IF age = “<=30” AND credit_rating = “fair” THEN buys_computer = “no”

  33. 在分类中避免过度适应(Overfit) • 所生成的树可能会过度适应于训练数据 • 太多的分支, 有些可能反映的是训练数据中的异常或噪音 • 在进行预测的时候准确率比较差 • 两种方法避免过度适应 • 预修剪: • 难点:选择一个域值比较困难 • 后修剪: 先生成完整的树,然后进行修剪 • 使用另外一个的一个测试集来决定哪个树最好

  34. 分类和预测 • 什么是分类?什么是预测 • 关于分类和预测的一些问题 • 使用决策树进行分类 • 用Excel来演示决策树 • 用Matlab演示决策树

  35. 分类和预测 • 什么是分类?什么是预测 • 关于分类和预测的一些问题 • 使用决策树进行分类 • 用Excel来演示决策树 • 用Matlab演示决策树

  36. 用Matlab演示决策树 • 数据集说明 • Iris plant data: (150条记录) • 属性信息: 1. sepal length in cm: 萼片的长度(厘米) 2. sepal width in cm: 萼片的宽度(厘米) 3. petal length in cm: 花瓣的长度(厘米) 4. petal width in cm:花瓣的宽度(厘米) 5. class: -- Iris Setosa: 蝴蝶花(鸢尾)长有刚毛的 -- Iris Versicolour:杂色 -- Iris Virginica:纯色 共有数据:150条, 4个输入属性,都是数值型的,一个输出属性(分类属性)是标称型(类别型)

  37. 写在后面的知识介绍——网络蜘蛛与搜索引擎的基本原理写在后面的知识介绍——网络蜘蛛与搜索引擎的基本原理 • 搜索引擎的工作原理 • 搜集信息 • 网络蜘蛛 • 整理信息 • 接受查询

  38. 网络蜘蛛原理 • Web spider • 互联网-〉网 • 蜘蛛-〉爬 • 抓取多少呢? • 容量最大的搜索引擎也不过是抓取了整个网页数量的40%左右 • 为什么? • 抓取技术?还是容量?

  39. 网络蜘蛛原理 • Web spider • 抓取网页策略 • 深度优先 • 广度优先 • 网站与网络蜘蛛 • 会不会引起服务器负担过重? • 抓那些不抓那些? • 如何向网站表明自己的身份? • GoogleBot, BaiDuSpider, Inktomi Slurp • Robots.txt • User-agent: * • Disallow:

  40. 网络蜘蛛 • 内容提取 • 搜索引擎建立网页索引,处理的对象是文本文件,而对网络蜘蛛来说,抓取下来的网页包括各种形式:html,图片、doc、pdf、多媒体、动态网页等等 • 如何把这些文件中的文本信息提取出来呢? • Doc、pdf等文档,专业厂商提供文本提取借口 • Html等过滤 • 多媒体、图片等:注释信息 • 动态网络等:困难

  41. 网络蜘蛛 • 更新周期 • Online还是offline? • 增量更新? • 更新周期多长?

More Related