分类和预测算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
j 1
v
s1 j .. smj s
I ( s1 j ,.., smj )
例:假定v=“年龄”,值为{a1,a2,a3}={<=30,31..40,>40},这 样可以将50个样本分成3个子集合S1,S2,S3。C1买计算机的样本 集合,C2是不买的。
如果在C1中31..40岁的人有5个,则s12=5 以A分枝将获得的信息增益是: Gain(A)=I(s1,s2,…,sm)-E(A) 决策树如何分枝?计算属性的信息增益,取最大的信息增益 分枝
否 是 否 是
中
一个电器销售商根据数据库的数据分析概念 “买计算机”,构造的决策树
训练数据集
age <=30 <=30 31…40 >40 >40 >40 31…40 <=30 <=30 >40 <=30 31…40 31…40 >40 income high high high medium low low low medium low medium medium medium high medium student no no no no yes yes yes no yes yes yes no yes no credit_rating fair excellent fair fair fair excellent excellent fair fair fair excellent excellent fair excellent
数据准备
数据清理:消除或减少燥声、处理空缺值 相关性分析:数据中与分类和预测任务不相 关的属性分析 数据变换:如连续变成离散(年龄分段、收 入分段等),区间变化
建立模型
建立模型,描述预定的数据类,通过分析由属性描 述的数据库元组来构造模型。每个元组属于一个预 定义的类,由一个称为类标号属性的属性确定。 比如将人员数据按信用分成{优、良、中、一般、 差}五个类,类标号属性为数据库的信用属性。 对于分类,数据元组也称为样本、实例或对象。为 建立模型而被分析的数据元组组成训练数据集。训 练集中的单个元组称作训练样本,并随机的由样本 群选取。 由于提供了每个训练样本的类标号(即指定了按哪 个类属性分类),该步也称为有指导的学习。
30 30 20 20 I (30,20) log 2 log 2 50 50 50 50
计算信息增益
设属性A有v个不同值{a1,a2,…,av}。可以根据属性值将S划分为v 个子集{S1,S2,…,Sv};sij是子集Sj中类Ci的样本数。由A划分成子 集的熵(期望信息)为:
E ( A)
例:电器销售顾客训练数据元组,类标号属性买PC,构造决策树
年龄 <=30 <=30 31..40 >40 >40 >40 31..40 <=30 <=30 >40 <=30 31..40 31..40 >40 收入 高 高 高 中 低 低 低 中 低 中 中 中 高 中 学生 n n n n y y y n y y y n y n 信用 中 良 中 中 中 良 良 中 中 中 良 良 中 良 买PC n n y y y n y n y y y y y n
图例
分类算法
训练数据
姓名 张杨 张铭 王枚 金清 李杲 李雷 ...
年龄 <=30 <=30 31..40 >40 >40 31..40 …..
收入 底 底 高 中 中 高 ..
信用 中 良 良 中 中 良 ..
分类规则
if(年龄==“31..40” &&收入==“高”) 信用=良
类标号属性
图例
概念“buys_computer”的判定树
age?
<=30 student? overcast 30..40 yes >40 credit rating? excellent no fair yes
no
no
yes
yes
2、使用决策树进行分类过程
决策树生成算法分成两个步骤
树的生成
开始,数据都在根节点 递归的进行数据分片
9 9 5 5 I (9,5) log2 log2 14 14 14 14 0.94
年龄 <=30 <=30 31..40 >40 >40 >40 31..40 <=30 <=30 >40 <=30 31..40 31..40 >40
收入 高 高 高 中 低 低 低 中 低 中 中 中 高 中
FPR = FP / N = FP / ( FP + TN )
模型评价指标
负例的覆盖率=正确预测到的负例个数/实际 负例总数 Specificity(True Negative Rate)=true negative/total actual negative SPC = TN / N = TN / ( FP + TN ) = 1 - FPR ROC曲线,全称是receiver operating characteristic curve,中文叫“接受者操 作特性曲线”,纵坐标: true positives rate(sensitivity), 横坐标 false positives rate(1-specificity)
计算每个属性的熵(从年 龄开始):
9 9 5 5 I (9,5) log2 log2 14 14 14 14 0.94
C1对应买(y),C2不买(n)
对年龄 31..40: s12=4 ,s22=0
4 4 I ( s12 , s22 ) log 2 0 4 4
例:电器销售顾客训练数据元组,类标号属性买PC,构造决策树 计算每个属性的熵(从年 龄开始):
模型评价指标
正例的覆盖率=正确预测到的正例数/实际正例 总数,Recall(True Positive Rate,or Sensitivity)=true positive/total actual positive TPR = TP / P = TP / ( TP + FN ) false positive rate (FPR) 等同于:fall-out
停止分割的条件
一个节点上的数据都是属于同一个类别 没有属性可以再用于对数据进行分割
4、属性选择方法-最高信息增益法 (ID3/C4.5)
设S是有s个数据样本的集合。假定类标号属性具 有m个不同的值,定义m个不同类Ci(i=1,…,m)。 设si是类Ci中的样本数。对一个给定的样本分类所 需要的期望信息由下式给出:
第九章 分类和预测
分类和预测是两种数据分析形式,可以用于 提取描述重要数据类的模型或预测未来的数 据趋势。 没有统一的观点,一般认为:
用预测法预测数据归属于哪个类称为分类; 用预测法预测连续值为预测。
一、分类
数据分类的步骤:
数据准备 建立模型 模型评估 使用模型分类
学生 n n n n y y y n y y y n y n
例:电器销售顾客训练数据元组,类标号属性买PC,构造决策树
年龄 <=30 <=30 31..40 >40 >40 >40 31..40 <=30 <=30 >40 <=30 31..40 31..40 >40 收入 高 高 高 中 低 低 低 中 低 中 中 中 高 中 学生 n n n n y y y n y y y n y n 信用 中 良 中 中 中 良 良 中 中 中 良 良 中 良 买PC n n y y y n y n y y y y y n
计算每个属性的熵(从年 龄开始):
9 9 5 5 I (9,5) log2 log2 14 14 14 14 0.94
C1对应买(y),C2不买(n)
对年龄 <=30: s11=2 ,s21=3 2 2 3 3 I ( s11 , s21 ) log2 log2 5 5 5 5 0.971
模型评估
首先评估模型的预测正确率,建立一个测试 集,测试集中数据从样本集随机取出并独立 于训练样本。 模型在给定测试集上的准确率是正确被模型 分类的测试样本的百分比。
模型评价指标
a是正确预测到的负例的数量, True Negative(TN,0->0) b是把负例预测成正例的数量, False Positive(FP, 0->1) c是把正例预测成负例的数量, False Negative(FN, 1>0) d是正确预测到的正例的数量, True Positive(TP, 1->1) a+b是实际上负例的数量,Actual Negative c+d是实际上正例的个数,Actual Positive a+c是预测的负例个数,Predicted Negative b+d是预测的正例个数,Predicted Positive
模型评价指标
positive predictive value (PPV) 等同于:precision PPV = TP / ( TP + FP ) negative predictive value (NPV) NPV = TN / ( TN + FN ) false discovery rate (FDR) FDR = FP / ( FP + TP ) Matthews correlation coefficient ( MCC ) MCC = ( TP*TN - FP*FN ) / sqrt(P*N*P1*N1) F1 score F1 = 2*TP / (P + P1)
I ( s1 , s2 ,.., sm ) pi log2 ( pi ); 若pi 0,则不计
i 1 m
其中pi是任意样本属于Ci的概率,一般用si/s估计代替pi
例:假定有50个元组作为样本,则s=50。分成买计算机和不 买两类,这样,m=2,C1是买的样本数据集,C2是不买的, 若不买的有20(即s2=20),则买的为30(s1=30)
树的修剪
去掉一些可能是噪音或者异常的数据
决策树使用: 对未知数据进行分割
按照决策树上采用的分割属性逐层往下,直到 一个叶子节点
3、决策树算法
基本算法(贪心算法)
自上而下分而治之的方法 开始时,所有的数据都在根节点 属性都是种类字段 (如果是连续的,将其离散化) 所有记录用所选属性递归的进行分割 属性的选择是基于一个启发式规则或者一个统计的度量
分类规则
测试数据 姓名 张侃 张恬 李铁 ….. 年龄 >40 <=30 31..40 ... 收入 高 底 高 ... 信用 中 中 良 ..
(赵熔,31..40,高) 信用=?
良
二、决策(判定)树归纳
1、决策树
年龄?
一个树形的结构 <=30 >40 31..40 内部节点上选用一个属性进行分割 是 学生? 每个分叉都是分割的一个部分 信用? 否 是 叶子节点表示一个分布 良
计算每个属性的熵(从年 龄开始):
9 9 5 5 I (9,5) log2 log2 14 14 14 14 0.94
C1对应买(y),C2不买(n)
Leabharlann Baidu
例:电器销售顾客训练数据元组,类标号属性买PC,构造决策树
年龄 <=30 <=30 31..40 >40 >40 >40 31..40 <=30 <=30 >40 <=30 31..40 31..40 >40 收入 高 高 高 中 低 低 低 中 低 中 中 中 高 中 学生 n n n n y y y n y y y n y n 信用 中 良 中 中 中 良 良 中 中 中 良 良 中 良 买PC n n y y y n y n y y y y y n
模型评价指标
准确(分类)率=正确预测的正反例数/总数 Accuracy=true positive and true negative/total cases ACC = ( TP + TN ) / ( P + N ) 误分类率=错误预测的正反例数/总数 Error rate=false positive and false negative/total cases Error rate=(FP+FN)/(P+N)
v
s1 j .. smj s
I ( s1 j ,.., smj )
例:假定v=“年龄”,值为{a1,a2,a3}={<=30,31..40,>40},这 样可以将50个样本分成3个子集合S1,S2,S3。C1买计算机的样本 集合,C2是不买的。
如果在C1中31..40岁的人有5个,则s12=5 以A分枝将获得的信息增益是: Gain(A)=I(s1,s2,…,sm)-E(A) 决策树如何分枝?计算属性的信息增益,取最大的信息增益 分枝
否 是 否 是
中
一个电器销售商根据数据库的数据分析概念 “买计算机”,构造的决策树
训练数据集
age <=30 <=30 31…40 >40 >40 >40 31…40 <=30 <=30 >40 <=30 31…40 31…40 >40 income high high high medium low low low medium low medium medium medium high medium student no no no no yes yes yes no yes yes yes no yes no credit_rating fair excellent fair fair fair excellent excellent fair fair fair excellent excellent fair excellent
数据准备
数据清理:消除或减少燥声、处理空缺值 相关性分析:数据中与分类和预测任务不相 关的属性分析 数据变换:如连续变成离散(年龄分段、收 入分段等),区间变化
建立模型
建立模型,描述预定的数据类,通过分析由属性描 述的数据库元组来构造模型。每个元组属于一个预 定义的类,由一个称为类标号属性的属性确定。 比如将人员数据按信用分成{优、良、中、一般、 差}五个类,类标号属性为数据库的信用属性。 对于分类,数据元组也称为样本、实例或对象。为 建立模型而被分析的数据元组组成训练数据集。训 练集中的单个元组称作训练样本,并随机的由样本 群选取。 由于提供了每个训练样本的类标号(即指定了按哪 个类属性分类),该步也称为有指导的学习。
30 30 20 20 I (30,20) log 2 log 2 50 50 50 50
计算信息增益
设属性A有v个不同值{a1,a2,…,av}。可以根据属性值将S划分为v 个子集{S1,S2,…,Sv};sij是子集Sj中类Ci的样本数。由A划分成子 集的熵(期望信息)为:
E ( A)
例:电器销售顾客训练数据元组,类标号属性买PC,构造决策树
年龄 <=30 <=30 31..40 >40 >40 >40 31..40 <=30 <=30 >40 <=30 31..40 31..40 >40 收入 高 高 高 中 低 低 低 中 低 中 中 中 高 中 学生 n n n n y y y n y y y n y n 信用 中 良 中 中 中 良 良 中 中 中 良 良 中 良 买PC n n y y y n y n y y y y y n
图例
分类算法
训练数据
姓名 张杨 张铭 王枚 金清 李杲 李雷 ...
年龄 <=30 <=30 31..40 >40 >40 31..40 …..
收入 底 底 高 中 中 高 ..
信用 中 良 良 中 中 良 ..
分类规则
if(年龄==“31..40” &&收入==“高”) 信用=良
类标号属性
图例
概念“buys_computer”的判定树
age?
<=30 student? overcast 30..40 yes >40 credit rating? excellent no fair yes
no
no
yes
yes
2、使用决策树进行分类过程
决策树生成算法分成两个步骤
树的生成
开始,数据都在根节点 递归的进行数据分片
9 9 5 5 I (9,5) log2 log2 14 14 14 14 0.94
年龄 <=30 <=30 31..40 >40 >40 >40 31..40 <=30 <=30 >40 <=30 31..40 31..40 >40
收入 高 高 高 中 低 低 低 中 低 中 中 中 高 中
FPR = FP / N = FP / ( FP + TN )
模型评价指标
负例的覆盖率=正确预测到的负例个数/实际 负例总数 Specificity(True Negative Rate)=true negative/total actual negative SPC = TN / N = TN / ( FP + TN ) = 1 - FPR ROC曲线,全称是receiver operating characteristic curve,中文叫“接受者操 作特性曲线”,纵坐标: true positives rate(sensitivity), 横坐标 false positives rate(1-specificity)
计算每个属性的熵(从年 龄开始):
9 9 5 5 I (9,5) log2 log2 14 14 14 14 0.94
C1对应买(y),C2不买(n)
对年龄 31..40: s12=4 ,s22=0
4 4 I ( s12 , s22 ) log 2 0 4 4
例:电器销售顾客训练数据元组,类标号属性买PC,构造决策树 计算每个属性的熵(从年 龄开始):
模型评价指标
正例的覆盖率=正确预测到的正例数/实际正例 总数,Recall(True Positive Rate,or Sensitivity)=true positive/total actual positive TPR = TP / P = TP / ( TP + FN ) false positive rate (FPR) 等同于:fall-out
停止分割的条件
一个节点上的数据都是属于同一个类别 没有属性可以再用于对数据进行分割
4、属性选择方法-最高信息增益法 (ID3/C4.5)
设S是有s个数据样本的集合。假定类标号属性具 有m个不同的值,定义m个不同类Ci(i=1,…,m)。 设si是类Ci中的样本数。对一个给定的样本分类所 需要的期望信息由下式给出:
第九章 分类和预测
分类和预测是两种数据分析形式,可以用于 提取描述重要数据类的模型或预测未来的数 据趋势。 没有统一的观点,一般认为:
用预测法预测数据归属于哪个类称为分类; 用预测法预测连续值为预测。
一、分类
数据分类的步骤:
数据准备 建立模型 模型评估 使用模型分类
学生 n n n n y y y n y y y n y n
例:电器销售顾客训练数据元组,类标号属性买PC,构造决策树
年龄 <=30 <=30 31..40 >40 >40 >40 31..40 <=30 <=30 >40 <=30 31..40 31..40 >40 收入 高 高 高 中 低 低 低 中 低 中 中 中 高 中 学生 n n n n y y y n y y y n y n 信用 中 良 中 中 中 良 良 中 中 中 良 良 中 良 买PC n n y y y n y n y y y y y n
计算每个属性的熵(从年 龄开始):
9 9 5 5 I (9,5) log2 log2 14 14 14 14 0.94
C1对应买(y),C2不买(n)
对年龄 <=30: s11=2 ,s21=3 2 2 3 3 I ( s11 , s21 ) log2 log2 5 5 5 5 0.971
模型评估
首先评估模型的预测正确率,建立一个测试 集,测试集中数据从样本集随机取出并独立 于训练样本。 模型在给定测试集上的准确率是正确被模型 分类的测试样本的百分比。
模型评价指标
a是正确预测到的负例的数量, True Negative(TN,0->0) b是把负例预测成正例的数量, False Positive(FP, 0->1) c是把正例预测成负例的数量, False Negative(FN, 1>0) d是正确预测到的正例的数量, True Positive(TP, 1->1) a+b是实际上负例的数量,Actual Negative c+d是实际上正例的个数,Actual Positive a+c是预测的负例个数,Predicted Negative b+d是预测的正例个数,Predicted Positive
模型评价指标
positive predictive value (PPV) 等同于:precision PPV = TP / ( TP + FP ) negative predictive value (NPV) NPV = TN / ( TN + FN ) false discovery rate (FDR) FDR = FP / ( FP + TP ) Matthews correlation coefficient ( MCC ) MCC = ( TP*TN - FP*FN ) / sqrt(P*N*P1*N1) F1 score F1 = 2*TP / (P + P1)
I ( s1 , s2 ,.., sm ) pi log2 ( pi ); 若pi 0,则不计
i 1 m
其中pi是任意样本属于Ci的概率,一般用si/s估计代替pi
例:假定有50个元组作为样本,则s=50。分成买计算机和不 买两类,这样,m=2,C1是买的样本数据集,C2是不买的, 若不买的有20(即s2=20),则买的为30(s1=30)
树的修剪
去掉一些可能是噪音或者异常的数据
决策树使用: 对未知数据进行分割
按照决策树上采用的分割属性逐层往下,直到 一个叶子节点
3、决策树算法
基本算法(贪心算法)
自上而下分而治之的方法 开始时,所有的数据都在根节点 属性都是种类字段 (如果是连续的,将其离散化) 所有记录用所选属性递归的进行分割 属性的选择是基于一个启发式规则或者一个统计的度量
分类规则
测试数据 姓名 张侃 张恬 李铁 ….. 年龄 >40 <=30 31..40 ... 收入 高 底 高 ... 信用 中 中 良 ..
(赵熔,31..40,高) 信用=?
良
二、决策(判定)树归纳
1、决策树
年龄?
一个树形的结构 <=30 >40 31..40 内部节点上选用一个属性进行分割 是 学生? 每个分叉都是分割的一个部分 信用? 否 是 叶子节点表示一个分布 良
计算每个属性的熵(从年 龄开始):
9 9 5 5 I (9,5) log2 log2 14 14 14 14 0.94
C1对应买(y),C2不买(n)
Leabharlann Baidu
例:电器销售顾客训练数据元组,类标号属性买PC,构造决策树
年龄 <=30 <=30 31..40 >40 >40 >40 31..40 <=30 <=30 >40 <=30 31..40 31..40 >40 收入 高 高 高 中 低 低 低 中 低 中 中 中 高 中 学生 n n n n y y y n y y y n y n 信用 中 良 中 中 中 良 良 中 中 中 良 良 中 良 买PC n n y y y n y n y y y y y n
模型评价指标
准确(分类)率=正确预测的正反例数/总数 Accuracy=true positive and true negative/total cases ACC = ( TP + TN ) / ( P + N ) 误分类率=错误预测的正反例数/总数 Error rate=false positive and false negative/total cases Error rate=(FP+FN)/(P+N)