1、哪些算法是监督学习还是非监督学习?
2、属性特征的分类、常见的统计描述
3、要会判断是回归问题还是分类问题还是聚类问题还是关联分析问题
4、连续型数据离散化方法:等宽和等频(具体做法要会)
5、回归模型:一元线性、多元线性、多项式回归
6、什么是欠拟合和过拟合
7、关联规则的作用,Apriori算法的求解过程(要会计算,参考课件)。判断哪些可以剪枝。(★★★★★)
作用:
一个包含k个项的项集可能产生2k-1个频繁项集
先验原理
先验性:如果一个项集是频繁的,那么它的所有非空子集也是频繁的
反单调性:如果一个项集是频繁的,则它的所有超集也一定是 非频繁的
频繁k项集一定是由频繁k-1项集组合生成的
算法实现
第一阶段:寻找频繁项集
1.把每个项作为1-项集,作为候选集C1,计算支持度;过滤候选集,得到频繁1-项集L1
2.连接:通过Lk-1x Lk-1算法自身连接产生候选集C2
3.剪枝:按照先验原理对C2进行剪枝,计算支持度并过滤,得到所有频繁2-项集L2
4.重复步骤2,直至无法生成新的候选集结束
第二阶段:由频繁项集产生关联规则
1.对于L中的每一个频繁项集 l,生成 l 所有的非空真子集
2.对于 l 中的每一个非空真子集X,如果
support_count(l)/support_count(X)>=minconf
则输出强关联规则 X->(l-X),其中min_conf是最小置信度阈值
关联规则的性质
置信度
提升度
L i f t ( A , B ) = ( P ( A ∪ B ) / P ( A ) ) P ( B ) = P ( A ∪ B ) P ( A ) P ( B ) Lift(A,B) = \frac {(P(A\cup B)/P(A))}{P(B)} = \frac {P(A\cup B)}{P(A)P(B)} Lift(A,B)=P(B)(P(A∪B)/P(A))=P(A)P(B)P(A∪B)
A发生的条件下,B发生的概率 比上B发生的概率
若提升值等于1 ,则说明A和B互相独立
>1,则A和B正相关
<1,则A和B负相关
杠杆度
l e v e r a g e ( A , B ) = P ( A ∪ B ) − P ( A ) P ( B ) leverage(A,B)=P(A\cup B)-P(A)P(B) leverage(A,B)=P(A∪B)−P(A)P(B)
=0 ,则说明A和B互相独立
>0,则A和B正相关
<0,则A和B负相关
皮尔森相关系数
ρ ( A , B ) = P ( A ∪ B ) P ( A ˉ ∪ B ˉ ) − P ( ! A ∪ B ˉ ) P ( A ∪ B ˉ ) P ( A ) P ( A ˉ ) P ( B ) P ( B ˉ ) \rho(A,B) = \frac{P(A\cup B)P(\bar{A}\cup \bar{B})-P(!A\cup \bar{B})P(A\cup \bar{B})}{ \sqrt{P(A)P(\bar{A})P(B)P(\bar{B})}} ρ(A,B)=P(A)P(Aˉ)P(B)P(Bˉ)P(A∪B)P(Aˉ∪Bˉ)−P(!A∪Bˉ)P(A∪Bˉ)
ρ ( A , B ) ρ(A,B) ρ(A,B)取值区间为 [ − 1 , 1 ] [-1,1] [−1,1]
确信度
C o n v i c t i o n ( A , B ) = P ( A ) P ( ! B ) P ( A ∪ B ˉ ) Conviction(A,B)= \frac {P(A)P(!B)}{\sqrt{P(A\cup \bar{B})}} Conviction(A,B)=P(A∪Bˉ)P(A)P(!B)
值越大,相关性越强
原理
选择某点,选择距离其最近的K个点中,占比最高的一类作为该点归类
所有方法数值化
防止数值化的量纲影响:标准化
K过小,过拟合
K过大,当不同类别数量不均衡时,结果偏向占优数量
最优k的寻找方法
考虑距离的权重
特点
优点:算法简单,容易理解
可用于分类和回归任务
不对数据做任何假设,这意味着它可以用于解决各种各样的问题
缺点:对于高维特征的数据集,效果往往不好
对于大多数特征的大多数取值都为0的数据集(稀疏数据集)K-NN效果尤其不好
需要存放训练记录,数据量大时,需占用较大内存,计算成本高,数据集大时可能导致预测需要很长时间
原理
S i g m o i d Sigmoid Sigmoid函数
h ( t ) = 1 1 + e − t h ( t ) ∈ ( 0 , 1 ) h(t)=\frac{1}{1+e^{-t}} \qquad h(t) \in (0,1) h(t)=1+e−t1h(t)∈(0,1)
当 t > 0 t>0 t>0时, p > 0.5 p>0.5 p>0.5
当 t < 0 t<0 t<0时, p < 0.5 p<0.5 p<0.5
逻辑回归模型:
h ( x ) = 1 1 + e − ( θ 0 + θ 1 x 1 + . . . + θ n x n ) h ( t ) ∈ ( 0 , 1 ) h(x)=\frac{1}{1+e^{-(\theta_0+\theta_1x_1+...+\theta_nx_n)}} \qquad h(t) \in (0,1) h(x)=1+e−(θ0+θ1x1+...+θnxn)1h(t)∈(0,1) y ^ = { 1 , h ( x ) ≥ 0.5 0 , h ( x ) < 0.5 \hat{y}=\begin{cases} 1, & \text {$h(x)\geq 0.5$} \\ 0, & \text{$h(x)<0.5$} \end{cases} y^={1,0,h(x)≥0.5h(x)<0.5
特点
二分类
贝叶斯定理
特征条件独立性假设
条件概率
事件A发生的前提下,事件B发生的概率 P ( B ∣ A ) P(B|A) P(B∣A)
联合概率: P ( B ∣ A ) = P ( A ∩ B ) P ( B ) ⇒ P ( A ∩ B ) = P ( A ∣ B ) × P ( A ) \text{联合概率:}P(B|A)=\frac {P(A\cap B)}{P(B)}\Rightarrow P(A\cap B)=P(A|B)\times P(A) 联合概率:P(B∣A)=P(B)P(A∩B)⇒P(A∩B)=P(A∣B)×P(A)
贝叶斯定理:
后验概率: P ( A ∣ B ) = P ( A ) × P ( B ∣ A ) P ( B ) P(A|B)=P(A)\times \frac{P(B|A)}{P(B)} P(A∣B)=P(A)×P(B)P(B∣A)
先验概率: P ( A ) P(A) P(A)
可能性函数(调整因子): P ( B ∣ A ) P ( B ) \frac{P(B|A)}{P(B)} P(B)P(B∣A)
后验概率 = 先验概率 × 调整因子 后验概率=先验概率\times 调整因子 后验概率=先验概率×调整因子
全概率公式(常量):
P ( A ) = ∑ i = 1 n P ( A B i ) = ∑ i = 1 n P ( B i ) P ( A ∣ B i ) P(A)=\sum_{i=1}^{n}{P(AB_i)}=\sum_{i=1}^{n}{P(B_i)P(A|B_i)} P(A)=i=1∑nP(ABi)=i=1∑nP(Bi)P(A∣Bi)
贝叶斯分类的数学模型:
设 X 是一个类标号未知的数据样本,在已知 X 的情况下,计算样本 X 属于某个类别 C i 的概率 设X是一个类标号未知的数据样本,在已知X的情况下,计算样本X属于某个类别C_i的概率 设X是一个类标号未知的数据样本,在已知X的情况下,计算样本X属于某个类别Ci的概率
P ( C i ∣ X ) = P ( C i X ) P ( X ) = P ( C i ) P ( X ∣ C i ) ∑ i = 1 k P ( C i ) P ( X ∣ C i ) P(C_i|X)=\frac{P(C_iX)}{P(X)}=\frac{P(C_i)P(X|C_i)}{\sum_{i=1}^{k}{P(C_i)P(X|C_i)}} P(Ci∣X)=P(X)P(CiX)=∑i=1kP(Ci)P(X∣Ci)P(Ci)P(X∣Ci)
最大概率值 P ( C i ∣ X ) P(C_i|X) P(Ci∣X)对应的类别作为样本的最终分类
P ( C i ) P(C_i) P(Ci)通常为已知,主要任务为计算并比较 P ( X ∣ C i ) P(X|C_i) P(X∣Ci)的值
X = ( x 1 , x 2 , x 3 , . . . , X p ) , P ( X ∣ C i ) = P ( x 1 , x 2 , x 3 , . . . , X p ∣ C i ) X=(x_1,x_2,x_3,...,X_p),\qquad P(X|C_i)=P(x_1,x_2,x_3,...,X_p|C_i) X=(x1,x2,x3,...,Xp),P(X∣Ci)=P(x1,x2,x3,...,Xp∣Ci)
朴素贝叶斯中,假设自变量之间互相独立,则
P ( X ∣ C i ) = P ( x 1 , x 2 , . . . , X p ∣ C i ) = P ( x 1 ∣ C i ) P ( x 2 ∣ C i ) . . . P ( x p ∣ C i ) P(X|C_i)=P(x_1,x_2,...,X_p|C_i)=P(x_1|C_i)P(x_2|C_i)...P(x_p|C_i) P(X∣Ci)=P(x1,x2,...,Xp∣Ci)=P(x1∣Ci)P(x2∣Ci)...P(xp∣Ci)
最终简化成: P ( C i ∣ X ) = a r g m a x c i P ( C i ) ∏ j P ( x j ∣ C j ) P(C_i|X)=arg max_{c_i}P(C_i)\prod_{j}P(x_j|C_j) P(Ci∣X)=argmaxciP(Ci)j∏P(xj∣Cj)
几种贝叶斯模型
平滑系数 α \alpha α:
P ( x j = x j k ∣ C i ) = N i k + α N i + n α P(x_j=x_{jk}|C_i)=\frac {N_{ik}+\alpha }{N_i+n\alpha} P(xj=xjk∣Ci)=Ni+nαNik+α
用于防止概率取值0的可能,一般取值为1,n为因变量的类别个数
如何选择根节点和中间节点的属性:
通过该属性进行测试后,得到的分类结果最“纯净”。
信息熵:
I n f o r ( p 1 , p 2 , . . . , p k ) = − ∑ k = 1 k p k l o g 2 p k Infor(p_1,p_2,...,p_k)=-\sum_{k=1}^{k}p_klog_2 p_k Infor(p1,p2,...,pk)=−k=1∑kpklog2pk
l o g 2 n ≈ l g n × 3.322 log_2n\approx lgn\times3.322 log2n≈lgn×3.322
对于某个事件而言,它有k个可能值, p k p_k pk表示第k个可能值的发生概率。
信息熵反映的是某个事件所有可能值的熵和。
备注: l o g 2 n ≈ l g n × 3.322 log_2n\approx lgn\times3.322 log2n≈lgn×3.322
条件熵
I n f o r ( D ∣ A ) = − ∑ i = 1 n P ( A i ) ∑ k = 1 k P ( D k ∣ A i ) l o g 2 P ( D k ∣ A i ) Infor(D|A)=-\sum_{i=1}^{n}P(A_i)\sum _{k=1}^{k}P(D_k|A_i)log_2P(D_k|A_i) Infor(D∣A)=−i=1∑nP(Ai)k=1∑kP(Dk∣Ai)log2P(Dk∣Ai)
值越小表示纯度越高
信息增益Gain
g ( D ∣ A ) = I n f o r ( D ) − I n f o r ( D ∣ A ) g(D|A)=Infor(D)-Infor(D|A) g(D∣A)=Infor(D)−Infor(D∣A)
选择信息增益较大的属性作为节点
信息增益率
g r ( D ∣ A ) = g ( D ∣ A ) H A g_r(D|A)=\frac{g(D|A)}{H_A} gr(D∣A)=HAg(D∣A)
H A H_A HA:数据集D关于这个特征的信息熵
基尼系数
信息熵VS基尼系数
算法 | 支持模型 | 树结构 | 特征选择 |
---|---|---|---|
ID3 | 分类 | 多叉树 | 信息增益 |
C4.5 | 分类 | 多叉树 | 信息增益率 |
CART | 分类,回归 | 二叉树 | 基尼系数,均方差 |
主要的决策树算法
算法 | 特征类型 | 不纯度度量 | 分割的子节点数量 | 目标特征类型 |
---|---|---|---|---|
ID3 | 离散型 | 信息熵(信息增益) | K > = 2 K>=2 K>=2 | 离散型 |
C4.5 | 离散型、连续型 | 信息熵(信息增益率) | K > = 2 K>=2 K>=2 | 离散型 |
C5.0 | 离散型、连续型 | 信息熵(信息增益率) | K > = 2 K>=2 K>=2 | 离散型 |
CART | 离散型、连续型 | Gini指数 | K = 2 K=2 K=2 | 离散型、连续型 |
原理:生成多个分类器,各自独立的学习和做出预测。输出的类别是这些预测的类别的众数而定。
随机森林是包含多个决策树的分类器,属于集成学习。
准确率(Accuracy)
精确率(Precision)
召回率(Recall)
F1 Score
P-R曲线(Precision-Recall Curve)
ROC
AUC
混淆矩阵(confusion matrix)是一个评估分类问题常用的工具,对于 k 元分类,其实它就是一个k x k的表格,用来记录分类器的预测结果。对于常见的二分类,它的混淆矩阵是 2x2 的。
准确率(Accuracy)
分类正确的样本占总样本个数的比例
A c c u r a c y = T P + T N T P + F P + T N + F N = 正确预测的样本数 所有样本数 Accuracy=\frac{TP+TN}{TP+FP+TN+FN}=\frac{正确预测的样本数}{所有样本数} Accuracy=TP+FP+TN+FNTP+TN=所有样本数正确预测的样本数
精确率(Precision)
又称查准率,是针对预测结果而言的评价指标。指在分类正确的正样本个数占分类器判定为正样本个数的比例。
P r e c i s i o n = T P T P + F P = 分类正确的正样本个数 被分类器判定为正样本个数 Precision=\frac{TP}{TP+FP}=\frac{分类正确的正样本个数}{被分类器判定为正样本个数} Precision=TP+FPTP=被分类器判定为正样本个数分类正确的正样本个数
召回率(Recall)
指分类正确的正样本个数占真正的正样本个数的比例。召回率也是对部分样本的统计量,侧重对真实的正类样本的统计:
R e c a l l = T P T P + F N = 分类正确的正样本个数 真正的正样本个数 Recall=\frac{TP}{TP+FN}=\frac{分类正确的正样本个数}{真正的正样本个数} Recall=TP+FNTP=真正的正样本个数分类正确的正样本个数
F1 Score
F1 Score是精准率和召回率的调和平均值,同时兼顾了分类模型的准确率和召回率,是统计学中用来衡量二分类模型的一种指标。它的值域是 [ 0 , 1 ] [0,1] [0,1],值越大意味着模型越好。
F 1 = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1=2\times \frac{Precision\times Recall}{Precision+Recall} F1=2×Precision+RecallPrecision×Recall
P-R曲线(Precision-Recall Curve)
。。。
ROC曲线
横坐标为假阳性率(False Positive Rate, FPR)
F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP
纵坐标为真阳性率(True Positive, TPR)
F P R = T P T P + F N FPR=\frac{TP}{TP+FN} FPR=TP+FNTP
设置不同的阈值,会得到不同的TPR和FPR,随着阈值减小,越来越多的实例被划分为正类
AUC
AUC为ROC曲线下的面积,值域为[0,1],能够直观的评价出分类器的好坏,AUC的值越大,分类器效果越好。
K均值聚类算法利用距离远近的思想将n个样本点划分到k个分组中,每个分组都有一个质心,分组中的每个点离它所属的分组的质心距离最短
聚类过程
聚类前必须对数据进行标准化的预处理
k均值聚类的目标函数:簇内样本的离差平方和之和
J ( c 1 , c 2 , . . . , c k ) = ∑ j = 1 k ∑ i n j ( x i − c j ) 2 J(c_1,c_2,...,c_k)=\sum_{j=1}^{k}\sum_{i}^{n_j}(x_i-c_j)^2 J(c1,c2,...,ck)=j=1∑ki∑nj(xi−cj)2
其中, c j 表示第 j 个簇的簇中心, x i 属于第 j 个簇的样本 i , n j 表示第 j 个簇的样本总量。对于该目标函数而言 c j 是未知的参数,要想求得目标函数的最小值,得先知道参数 c j 的值 其中,c_j表示第j个簇的簇中心,x_i属于第j个簇的样本i,n_j表示第j个簇的样本总量。对于该目标函数而言c_j是未知的参数,要想求得目标函数的最小值,得先知道参数c_j的值 其中,cj表示第j个簇的簇中心,xi属于第j个簇的样本i,nj表示第j个簇的样本总量。对于该目标函数而言cj是未知的参数,要想求得目标函数的最小值,得先知道参数cj的值
当k越大,簇内离差平方和之和会越小
合理的k值是:随着簇的增加,簇内离差平方和之和趋于稳定。
拐点法
在不同k值下计算簇内离差平方和之和,通过可视化的方法找到“拐点”所对应的k值。 当折线图中的斜率由大突变小时,并且之后的斜率变化缓慢,则认为突然变化的点就是寻找的目标点。
轮廓系数法
S ( i ) = b ( i ) − a ( i ) m a x ( a ( i ) , b ( i ) ) S(i)=\frac{b(i)-a(i)}{max(a(i),b(i))} S(i)=max(a(i),b(i))b(i)−a(i)
a ( i ) a(i) a(i)体现了簇内的密集性,代表样本i与同簇内其他样本点距离的平均值;
b ( i ) b(i) b(i)反映簇间的分散性,样本i与其他非同簇样本点距离的平均值,然后从平均值中挑选出最小值
S ( i ) S(i) S(i)的取值范围:[-1,1]
当 S ( i ) S(i) S(i)接近于-1时,说明样本i的分配不合理,需将其分配到其他簇中;
当 S ( i ) S(i) S(i)近似为0时,说明样本i落在簇的边界处
当 S ( i ) S(i) S(i)近似为1时,说明样本i的分配是合理的
间隔统计量法
。。。
优:
缺:
层次聚类的实质是计算各簇内样本点之间的相似度(通常以欧式距离作为相似度指标),并通过相似度的结果构建一颗聚类树
聚类树的创建方法:自下而上的凝聚;自上而下的分裂
簇间距离的度量方法:
最小距离法:
以所有簇间样本点距离的最小值作为簇间距离
d i s t m i n ( C i , C j ) = m i n ( ∣ p − q ∣ ) ( p ∈ C i , q ∈ C j ) dist_{min}(C_i,C_j)=min(|p-q|)\qquad (p \in C_i,q\in C_j) distmin(Ci,Cj)=min(∣p−q∣)(p∈Ci,q∈Cj)
最大距离法
以所有簇间样本点距离的最大值作为簇间距离
d i s t m a x ( C i , C j ) = m a x ( ∣ p − q ∣ ) ( p ∈ C i , q ∈ C j ) dist_{max}(C_i,C_j)=max(|p-q|)\qquad (p \in C_i,q\in C_j) distmax(Ci,Cj)=max(∣p−q∣)(p∈Ci,q∈Cj)
平均距离法
中心法
算法流程
层次聚类可以提供数据的可能划分的整个层次结构
层次聚类无法识别异常点
优:
缺
8、knn模型的特点及原理;最优k的寻找方法有哪些? \sqrt{}
9、逻辑回归的原理、作用及特点 \sqrt{}
10、朴素贝叶斯算法的原理、特点;给出具体的数据,要会计算。(★★★★★),几种贝叶斯模型的用途及特点。 \sqrt{}
11、决策树算法的原理、特点;给出具体的数据,要会计算(只要求ID3和C4.5)。(★★★★★);决策树模型中三个经典算法的区别。
12、随机森林的特点
13、分类算法的模型评估:正确率、精准度、召回率、混淆矩阵、ROC曲线,AUC
14、Kmean算法的原理,特点,要会计算(★★★★★)。
15、层次聚类算法的原理及特点,要会计算(★★★★★);簇间的距离度量方法。
16、密度聚类中的一些常见概念(核心点,直接密度可达,密度可达,密度相连),该算法的特点,与其他两个算法的区别。
代码复习:
线性回归:
(1)导入库包:from sklearn.linear_model import LinearRegression
(2)读入数据:data=pd.read_csv(‘E://aa.csv’)
x=…
y=…
(3)构建模型:lrModel=LinearRegression()
lrModel.fit(x,y)
(4)查看模型:lrModel.conf_;lrModel.intercept_
(5)模型评估:lrModel.score(x,y)
分类:
(1)导入库包:from sklearn.tree import KNeighborsClassifier
from sklearn.datasets import load_digits
…
(2)读入数据:data=load_digits()
X=…
y=…
(3)数据预处理:
空值处理,标准化,离散化,编码等
(4)数据集拆分:
(5)寻址最优参数(交叉验证法,网格搜索法):该步有可能有
(6)构建模型:knn_clf=KNeighborsClassifier(n_neighbors=k)
knn_clf.fit(X_trian,y_train)
(7)预测:y_predict=knn_clf.predict(X_test);
(8)模型评估:knn_clf.score(X_test,y_test),
classification_report(y_test,y_predict);
confusion_matrix(y_test,y_predict)
选择题(单选)102
不定项选择题 53
计算题 50/4
程序题 15/3