12.计算题知识点

1. 支持度/置信度/提升度

1.1. 基础概念

  1. 支持度(Support):同时包含AB的事务所占有事务的比例:

    Support=P(AB)Support = P (A \cap B)

  2. 置信度(Conficence):表示使用包含A事务中同时包含B的比例

    Confidence=P(AB)/P(A)Confidence = P (A \cap B) / P(A)

  3. Lift提升度:“包含A事务中同时包含B的比例”和“包含B事务中比例”的比值

    Lift=P(AB)/P(A)/P(B)Lift = P (A \cap B) / P(A) / P(B)

注意:上边三个指标在定义的时候有一个方向问题,描述的是A -> B的方向,支持度的计算是直接计算,无关方向,但置信度和提升度的计算的分母部分则关联到方向问题。

1.2. 「例」

1.2.1. 计算参数

事务ID
购买项集

1

A,B,C

2

A,C

3

A,D

4

B,E,F

    计算A -> C的各个参数:

  1. 支持度:

    A=34=0.75A = \frac{3}{4} = 0.75 C=12=0.5C = \frac{1}{2} = 0.5 Support=P(AB)=0.5=50%Support = P (A \cap B) = 0.5 = 50\%

    备注:此处的 \cap 运算是取交集,即最大公约概率,并非使用乘法的方式将两个概率相乘。

  2. 置信度:

    P(AB)=0.5P ( A \cap B ) = 0.5 P(A)=0.75P (A) = 0.75 Confidence=P(AB)/P(A)=0.5/0.75=0.66=66%Confidence = P ( A \cap B ) / P(A) = 0.5 / 0.75 = 0.66 = 66\% Confidence=Support/P(A)Confidence = Support / P(A)

    运算细节:0.5/0.75=12×43=230.660.5 / 0.75 = \frac{1}{2} \times \frac{4}{3} = \frac{2}{3} \approx 0.66

  3. 提升度:

    P(AB)=0.5P ( A \cap B ) = 0.5 P(A)=0.75P (A) = 0.75 P(B)=0.5P (B) = 0.5 Lift=P(AB)/P(A)/P(B)=0.5/0.75/0.5=4/3=1.33=133%Lift = P( A \cap B) / P(A) / P(B) = 0.5 / 0.75 / 0.5 = 4/3 = 1.33 = 133\% Lift=Conficence/P(B)Lift = Conficence / P(B)

2. 杰卡德Jaccard

2.1. 基本概念

    A contingency table for binary variables:

Object j

1

0

Sum

Object i

1

q

r

q + r

...

0

s

t

s + t

...

Sum

q + s

r + t

p

  1. 杰卡德相似系数:

    J(A,B)=ABAB=qq+r+sJ(A,B) = \frac{|A \cap B|}{|A \cup B|} = \frac{q}{q + r + s}

  2. 杰卡德距离:

    J=1J(A,B)=ABABAB=r+sq+r+sJ = 1 - J(A,B) = \frac{|A \cup B| - |A \cap B|}{|A \cup B|} = \frac{r + s}{q + r + s}

    杰卡德的应用场景

  • 相似度很高的新闻(网页去重)

  • 考试防作弊系统

  • 论文查重系统

  • 对象距离计算、聚类

    在聚类(Clustering)问题中,如果数据字段属性都是二元属性(Binary Variable),根据上述表,Jaccard Coefficient计算数据间的距离公式为:

d(i,j)=(r+s)/(q+r+s)d(i,j) = (r + s) / (q + r + s)

3. 频繁项计算

3.1. 基本概念

    项的集合称为项集,包含k个项的项集称为k-项集,项集的出项频率是包含项集的事务数,简称为项集的事务集,支持度计数或计数。注意,定义项集的支持度有时称为相对支持度,而出现的频率称为绝对支持度。如果项集I的相对支持度满足预定义的最小支持度阈值,则I是频繁项集。

  • 置信度——是指某个关联规则的概率,可以用P(B|A)表示。

  • 关联规则——表示的是在某个频繁项集的条件下推出另一个频繁项集的频率,如果该关联规则的置信度大于等于最小置信度,则为强关联规则。

  • 闭频繁项集(Closed Frequent Itemset)——当项集X是频繁项集,且数据集D中不存在X的真超集Y,是的XY的支持度相等,则X就是闭频繁项集。闭频繁项集的表示是无损压缩,不会丢失支持度的信息。通过闭频繁项集可以反推出所有的频繁项集以及相应的支持度。

  • 极大频繁项集(Maximal Frequent Itemset)——当项集X是频繁项集,且数据集D中不存在X的真超集,使得Y是频繁项集,则X是极大频繁项集。极大频繁项集的表示是有损压缩,失去了频繁项集的支持度信息,我们可以根据极大频繁项集判断任意项集是否频繁的,但无法得到相应的支持度。

  • 最大规则对象数——规则中对象组所包含的最大对象数量。

  • 最小支持——规则中对象或是对象组必须匹配的最低案例数。

  • 最小信心水准——计算规则所必须匹配的最低信心水准门槛。

3.2. 「例」

3.2.1. 基本计算

    考虑下面的频繁3-项的集合:

  • {1,2,3}

  • {1,2,4}

  • {1,2,5}

  • {1,3,4}

  • {1,3,5}

  • {1,4,5}

  • {2,3,4}

  • {2,3,5}

  • {3,4,5}

    假定数据集中只有5个项,采用合并策略,由候选产生过程中得到的4-项集不包括:

    验证每个结果如下:

选项
根据结果提取所需的三项集

1,2,3,4

123, 124, 234, 134

1,2,3,5

123, 125, 235, 135

1,2,4,5

125, 125, 245(该项不存在于于3-项集), 145

1,3,4,5

134, 135, 345, 145

3.2.2. Apriori算法

    根据Apriori算法回答下边问题:

TID
项集

1

面包、牛奶

2

面包、尿布、啤酒、鸡蛋

3

牛奶、尿布、啤酒、可乐

4

面包、牛奶、尿布、啤酒

5

面包、牛奶、尿布、可乐

    利用Apriori算法计算频繁项集可以有效降低计算频繁项集的时间复杂度,上述购物篮中产生支持度不小于3的候选3-项集,在候选2-项集中需要剪枝的是

    详细解析,根据频繁项集执行计算

用户
面包 A
牛奶 B
尿布 C
啤酒 D
鸡蛋 E
可乐 F

1

v

v

2

v

v

v

v

3

v

v

v

v

4

v

v

v

v

5

v

v

v

v

支持度 >= 3

    从1-项集开始计算:

  • 1项:

    • 项集:{A,B,C,D,E,F}

    • 剪枝移除得到频繁项集:{A,B,C,D}

  • 2项:

    • 项集:{(A,B), (B,C), (C,D), (A,C), (A,D), (B,D)}

    • 剪枝移除得到频繁项集:{(A,B), (B,C), (C,D), (A,C)}

    验证结果

  • A. {C, D}

  • B. {A, D} - 剪枝移除

  • C. {A, C}

  • D. {B, D} - 剪枝移除

3.2.3. 频繁闭项集

    下表是一个购物篮,假定支持度阈值为40%,其中( )是频繁闭项集

  • abc

  • abcd

  • bce

  • acde

  • de

    详细解析:

答案
项集
直接超集
间接超集

A

abc = 40%

abcd = 20%

B

ad = 40%

acd = 40%

abcd, acde

C

cd = 40%

acd = 40%, cde = 20%

abcd, acde

D

de = 40%

cde = 20%

acde

根据统计结果可以知道,只有A和D满足频繁闭项集的条件,B和C中acd = 40%使得这两个项集不可能成为频繁闭项集,直接超集的占比和当前频繁项集的占比一样则表示该集合不是频繁闭项集,如结果中adacd都是40%,那么这种场景下,ad就不是频繁闭项集。

4. Gini Index计算

4.1. 基本概念

    在决策树的CART算法中划分决策树的条件是使用Gini Index,该定义如下(标识数据集的纯度):

Gini(D)=1j=1npj2Gini(D) = 1 - \sum_{j=1}^n p_j^2

    直观来说,数据集的基尼系数反应了从数据集D中随机抽取两个样本,其类别不一样的概率,于是Gini系数越小证明数据集纯度越高。

4.2.「例」

4.2.1. Gini计算

    给定以下的便利店选点数据集,并采用CART的分类树算法构建分类树(目标字段为最后一个字段)时,请回答以下题目:

  1. 当左子树是道路距离<=30,右子树是道路距离31~40或>40时,请计算此树的Gini值为何?

  1. 当左子树是人口密度=中,右子树是人口密度=高或人口密度=低时,请计此树的Gini值为何?

  1. 当子树是区域类别=住宅区,右子树是区域类别=商业区时,请计算此树的Gini值为何?

  1. 当左子树是捷运车站=有,右子树是捷运车站=没有时,请计算此树的Gini值为何?

5. 贝叶斯公式

5.1. 基本概念

  1. 条件概率是事件A在另一个事件B已经发生条件下的发生概率,记作:

    P(BA)P(B|A)

  2. 联合概率表示两个事件共同发生的概率,A和B的联合概率记作:

    P(BA)P(AB)P(BA) 或 P(A \cap B)

  3. 先验概率是某个事件的概率,A的先验概率和B的先验概率分别记作:

    P(A),P(B)P(A), P(B)

  4. 贝叶斯公式

    P(AB)=P(AB)P(B)P(A|B) = \frac{P(A \cap B)}{P(B)} P(BA)=P(AB)P(A)P(B|A) = \frac{P(A \cap B)}{P(A)} 通过代换得到

    P(AB)=P(BA)×P(A)P(B)P(A|B) = \frac{P(B|A) \times P(A)}{P(B)} P(AB)×P(B)=P(BA)×P(A)P(A|B) \times P(B) = P(B|A) \times P(A)

5.2.「例」

5.2.1. 概率计算

  1. 设某公路上经过的火车与客车的数量之比为2:1,货车中途停车修理的概率为0.02,客车为0.01,今有一辆汽车中途停车修理,求该汽车是货车的概率?

6. 混淆矩阵

6.1. 基本概念

6.1.1. 基本参数

  1. 正确率

    Accuracy=TP+TNTN+FN+TP+FPAccuracy = \frac{TP + TN}{TN + FN + TP + FP} (对角线\

  2. 错误率

    1Accuracy=FN+FPTN+FN+TP+FP1 - Accuracy = \frac{FN + FP}{TN + FN + TP + FP} (对角线/

  3. 查全率/查准率

    Precision=TPTP+FP=PPrecision = \frac{TP}{TP + FP} = P (预测正)

  4. 查全率/召回率

    Recall=TPTP+FN=RRecall = \frac{TP}{TP + FN} = R (真实正)

  5. F-指标

    FMeasure=2×Precision×RecallPrecision+Recall=2×P×RP+RF-Measure = \frac{2 \times Precision \times Recall}{Precision + Recall} = \frac{2 \times P \times R}{P + R}

  6. 灵敏度

    Sensitivity=Recall=SSensitivity = Recall = S

  7. 特异性

    Specificity=TNTN+FPSpecificity = \frac{TN}{TN + FP} (预测负)

下边是变化过后的值,主要用于计算,可以不用理睬。

6.1.2. 特定参数

  1. 灵敏度,又称为正样本召回率

    TPR=TPTP+FNTPR = \frac{TP}{TP + FN}

  2. 特异度,又称为负样本召回率

    TNR=TNTN+FPTNR = \frac{TN}{TN + FP}

  3. 假正率

    FPR=1TNR=FPTN+FPFPR = 1 - TNR = \frac{FP}{TN + FP}

  4. 假负率

    FNR=1TPR=FNTP+FNFNR = 1 - TPR = \frac{FN}{TP + FN}

6.2.「例」

6.2.1. ROC曲线

  1. ROC曲线的x轴,实际上可以由每个阈值下混淆矩阵的( )计算而来

  1. ROC曲线的y轴,实际上可以由每个阈值下混淆矩阵的( )计算而来

6.2.2. 基础参数

  1. 对于属性值YES的响应率(Precision)应如何计算

  1. 对于属性值YES的查全率(Recall)应如何计算

7. F1计算

7.1. 基本概念

    F-meansure的通用公式:

Fβ=(1+β2)×Precision×Recall(β2×Precision)+RecallF_{\beta} = (1 + \beta^2) \times \frac{Precision \times Recall}{(\beta^2 \times Precision) + Recall}

    F1F_1的指标:

F1=2×Precision×RecallPrecision+RecallF_1 = 2 \times \frac{Precision \times Recall}{Precision + Recall}

    多分类做法:

  • Macro F1:宏观,将多个类的F1相加算平均(每个类同等重要)

  • Weighted F1:在Macro基础上加权(按照每种类型的比例加权计算)

  • Micro F1:计算合并后的混淆矩阵

7.2. 「例」

7.2.1. 文本评估

正确分词(实际)
伊拉克
连续
第四天
原油
倾入
波斯湾

分词结果(预测)

伊拉克

连续

第四天

倾入

波斯

正确

o

o

o

o

o

x

x

o

x

x

    上述混淆矩阵

实际\预测

TP = 6

FN = 2

FP = 4

-

  • 查准率(Precision):总共预测10个词,正确了6个,0.6,正确个数占预测总数的

  • 查全率(Recall):实际8个词,正确了6个,0.75,正确个数占实际总数的

  • F10.67F_1 \approx 0.67

7.2.2. 多分类

  1. 计算A的混淆矩阵:

    实际\预测

    2

    2

    0

    -

    查准率:总共预测2个词,正确了2个,P=1.0P = 1.0

    查全率:实际4个词,正确了2个,R=0.5R = 0.5

    F10.67F_1 \approx 0.67

  2. 计算B的混淆矩阵:

    实际\预测

    2

    1

    2

    -

    查准率:总共预测4个词,正确了2个,P=0.5P = 0.5

    查全率:实际3个词,正确了2个,R=0.66R = 0.66

    F10.57625F_1 \approx 0.57625

  3. 计算C的混淆矩阵:

    实际\预测

    1

    1

    2

    -

    查准率:总共预测3个词,正确1个,P=0.33P = 0.33

    查全率:实际2个词,正确了1个,R=0.5R = 0.5

    F10.39759F_1 \approx 0.39759

    上述结果计算:

  1. 微平均 Micro F1(合并混淆矩阵)

    实际\预测

    5

    4

    4

    -

    查准率:总共预测9个词,正确5个,P=0.56P = 0.56

    查全率:实际9个词,正确5个,P=0.56P = 0.56

    F10.56F_1 \approx 0.56

  2. 宏平均 Macro F1:多个F相加取平均

    F1=0.6667+0.57265+0.397593=0.546F_1 = \frac{0.6667 + 0.57265 + 0.39759}{3} = 0.546

  3. Weight F1:带上权重直接求和(注此处不需再除以3

    F1=49×0.6667+39×0.57265+29×0.39759=0.58F_1 = \frac{4}{9} \times 0.6667 + \frac{3}{9} \times 0.57265 + \frac{2}{9} \times 0.39759 = 0.58

8.多项式特征

8.1. 基本概念

    degree此参数决定了多项式的最大维度:

  1. 假设有两个变量x1,x2x_1, x_2

  2. 如果degree = 2x1,x2,x12,x22x_1, x_2, x_1^2, x_2^2

  3. 如果degree = 3x1,x2,x12,x22,x13,x23x_1, x_2, x_1^2, x_2^2, x_1^3, x_2^3

  4. 默认的PolynomialFeatures包含了交互特征:x1x2x_1x_2

图中有错,Polynomial Features为 x12,x22x_1^2, x_2^2,中间的6才是交互(互信息)。

最后更新于

这有帮助吗?