题型 | 题量 | 分值 |
名词解释 | 2 | 10 |
填空 | 10 | 10 |
简答题 | 2 | 20 |
计算题 | 1 | 20 |
综合分析 | 2 | 40 |
第1章 引言
1.数据挖掘概念
数据挖掘是指从大量数据中通过算法搜索隐藏于其中的有效信息的过程。
2.数据挖掘算法分类
(1)关联规则
关联规则旨在找出所有能把一组事件或数据项与另一组事件或数据线联系起来的强关联规则(拉关系)。
主要算法:Apriori算法
(2)数据分类
数据分类是指通过对数据集的学习获得一个映射关系,从而将未知类别的样本映射到给定类别中(贴标签)。
主要算法:决策树、贝叶斯、神经网络、支持向量机等
(3)数据聚类
数据聚类旨在将数据集内具有相似特征的数据聚集成簇,从而使得同一个簇的数据特征尽可能相似,不同簇中数据特征有明显的区别(找朋友)。
主要算法:K均值聚类、神经网络聚类等
(4)时间序列
时间序列分析是根据数据过去和现在的变化规律去预测未来发展趋势的一种数据分析技术(测未来)。
主要算法:简单移动平均、复杂差分整合移动平均、自回归等
第8章 关联规则
1.支持度、最小支持度定义与计算
1.支持度
def : 是项目X和项目Y同时发生的概率。
–> 某个商品组合出现的次数与总次数之间的比例。
5次购买,4次买了牛奶,牛奶的支持度为4/5=0.8。
5次购买,3次买了牛奶+面包,牛奶+面包的支持度为3/5=0.6。
2.最小支持度
def : 用户定义的衡量支持度的一个阈值,表示项目集在统计意义上的最低重要性。
2.置信度、最小置信度定义与计算
1.置信度
def : 是包含项目X的事务中同时也包含项目Y的概率,反映X出现条件下Y出现的可能性。
–> 购买了商品A,有多大概率购买商品B,A发生的情况下B发生的概率是多少。
买了4次牛奶,其中2次买了啤酒,(牛奶->啤酒)的置信度为2/4=0.5。
买了3次啤酒,其中2次买了牛奶,(啤酒->牛奶)的置信度为2/3=0.67。
2.最小置信度
def : 是用户定义的衡量置信度的一个阈值,表示关联规则的最低可能性。
3.项目集格空间理论2条定理
定理1:频繁项目集的所有子集仍是频繁项目集
定理2:非频繁项目集的所有超集是非频繁项目集
4.Apriori算法频繁项集生成及规则提取
生成频繁项集
对于满足最小支持度要求的某个频繁项集,检查其置信度,例如:
所有可能的规则:(1)→(2,3)、(2)→(1,3)、(3)→(1,2)、
(1,2)→(3)、 (1,3)→(2)、 (2,3)→(1)
按照上面所有子集的支持度计数,以及置信度公式,检查是否满足最小置信度要求。
第九章 决策树
1.信息熵定义及计算
为便于理解决策树的结构,先给出一个成绩等级评定决策树的例子,如图 9-2所示。
例子:具体到表 9-1,如果用{职业}作为分类标准,该属性的值为“好/较好”的男生在{交往?}中都取得了“是”的结果。也就意味着,按照该标准划分,对于“好/较好”的样本,不需要再有额外的信息,我们就能得到“交往”的分类结果。
另一方面,如果使用{外型}作为分类标准,8个“帅”的样本中,有5个结论是“否”,有3个是“是”;4个“不帅”的样本中,有1个结论是“否”,有3个是“是”。显然,使用{外型}作为分类标准,需要其他额外信息,才能确定某个样本的分类结果。
上面案例的样本数量和属性种类都有限,可以通过观察得到结论。对于大样本多属性的数据,可以通过信息熵来进行量化分析得到结论。首先考虑样本总体情况:12个 “交往”的样本中,最终的分类结果有6个“是”,6个“否”。
其信息熵为:
表 9-1的例子Y={是,否},知道了男生的职业信息X,有3个可能取值X={一般,较好,好}。那么序号{1,2,3,5,6,11,12}样本的职业为“一般”,“交往”为“是”的个数为1个,“否”的个数为6个;序号为{8,9}样本的职业为“较好”,“交往”为“是”的个数为2个,“否”的个数为0个;序号为{4,7,10}样本的职业为“好”,“交往”为“是”的个数为3个,“否”的个数为0个。根据这些数据,三个属性对应的信息熵分别为:
另外,三个属性对应发生的概率分别为:
于是,当知道了“职业”这一条件信息时,根据公式,对应的条件熵为
对应的信息增益为:g(Y,X)=H(Y)-H(Y|X)=1-0.2674=0.7326
2.信息熵增益、信息熵增益率定义及计算
有些时候,使用信息增益会比较粗暴,效果也不一定好。因为增益这个指标天然地偏向于选择那些分支比较多的属性。这种偏向性是必须消除的,算法应该公正地评价所有的属性。
因此,另外一个指标被提出来:
信息增益率(Gain Ratio)。某一属性A的增益率计算公式定义为:
※其核心思想是:信息增益的取得(熵的变化),是因为使用某个属性的不同取值对原始数据集进行了子集划分。这种划分相当于是一种信息输入。信息增益率把输入和熵减看成是投入和产出,计算器其比值。
- 以job为例计算信息增益率(Gain Ratio):
- Job取值为“一般”的:7例
- 取值为“较好”的:2例
- 取值为“好”的:3例
3.ID3,C4.5算法挑选决策属性
ID3算法使用信息增益做计算
C4.5算法使用信息增益率做计算
原理
C4.5选择最有效的方式对样本集进行分裂,分裂规则是分析所有属性的信息增益率。
信息增益率越大,意味着这个特征分类的能力越强,我们就要优先选择这个特征做分类。
比喻说明:挑西瓜。
拿到一个西瓜,先判断它的纹路,如果很模糊,就认为这不是好瓜,如果它清晰,就认为它是一个好瓜,如果它稍稍模糊,就考虑它的密度,密度大于某个值,就认为它是好瓜,否则就是坏瓜。
第10章 朴素贝叶斯
1.条件概率、先验/后验概率
原理
假设输入的不同特征之间是独立的,基于概率论原理,通过先验概率P(A)、P(B)和条件概率推算出后概率出P(A|B)。
P(A):先验概率,即在B事件发生之前,对A事件概率的一个判断。
P(B|A):条件概率,事件 B 在另外一个事件 A 已经发生条件下的发生概率。
P(A|B):后验概率,即在B事件发生之后,对A事件概率的重新评估。
- 【例 9-1】某保险公司APP对某保险产品被加入购物车后是否实际成交进行了统计,结果如表 9-2所示。
2.朴素贝叶斯算法计算新样本分类
朴素贝叶斯是一种简单有效的常用分类算法,计算未知物体出现的条件下各个类别出现的概率,取概率最大的分类。
第11章 K近邻分类与K均值聚类
1.距离指标
常见的距离度量方法:欧式距离、曼哈顿距离以及夹角余弦等
2.K近邻分类思想与流程
KNN是一个分类算法,是有监督学习,既能分类也能回归,通过测量不同特征值之间的距离来进行分类。
三个基本要素
距离度量、k值的选择和分类决策规则。
原理
计算待分类物体与其他物体之间的距离,对于K个最近的邻居,所占数量最多的类别,预测为该分类对象的类别。
计算步骤
1、根据场景,选取距离计算方式,计算待分类物体与其他物体之间的距离。
2、统计距离最近的K个邻居。
3、对于K个最近的邻居,所占数量最多的类别,预测为该分类对象的类别。
比喻说明:近朱者赤,近墨者黑。
3.K均值聚类思想与流程
K-means是一个聚类算法,是无监督学习,生成指定K个类,把每个对象分配给距离最近的聚类中心。
原理
1.随机选取K个点为分类中心点。
2.将每个点分配到最近的类,这样形成了K个类。
3.重新计算每个类的中心点。比如都属于同一个类别里面有10个点,那么新的中心点就是这10个点的中心点,一种简单的方式就是取平均值。
比喻说明:物以类聚,人以群分。
1.选老大
大家随机选K个老大,谁离得近,就是那个队列的人(计算距离,距离近的人聚合在一起)。
随着时间的推移,老大的位置在变化(根据算法,重新计算中心点),直到选出真正的中心老大(重复,直到准确率最高)。
2.Kmeans和Knn的区别
Kmeans开班选老大,风水轮流转,直到选出最佳中心老大。
Knn小弟加队伍,离那个班相对近,就是那个班的。
第12章 Sklearn
1.Sklearn功能与模块
- Scikit-Learn的主要功能包括如下六个方面:
(1)Classification(分类)
(2)Regression(回归)
(3)Clustering(聚类)
(4)Dimensionality Reduction(降维)
(5)Model Selection(模型选择)
(6)Preprocessing(数据预处理) - Scikit-Learn的主要模块:
(1)预处理(Sklearn Preprocessing): 主要分为规范化和编码
(2)转换器 (Transformer):用于数据预处理和数据转换
(3)估计器(Estimaor):实际上是封装成类的各种数据挖掘算法
每个算法都支持两个函数:fit(x,y),predict(x)
(4)模型评估(度量),交叉验证。
2.使用sklearn完成数据挖掘项目的一般流程
数据挖掘的基本流程:
- Look at the big picture:进行整体宏观考察,确定项目需求、目标和整体路径。
- Get the data:获取数据,可能来自于已有数据,也可能需要重新采集。
- Discover and visualize the data to gain insights:借助图表深入发现了解数据,可以通过Pandas读入数据文件,借助Matplotlib或者Seaborn绘制图表。
- Prepare the data for Machine Learning algorithms:进行数据整理(填充缺失值、处理异常/离群值、非数值型转换为数值型等)、属性选择(发现属性之间的相关性,进行重点分析,还可以通过丢弃非相关/弱相关属性,降低计算工作量)、训练集/测试集分离(选择部分数据用于训练算法模型,另一部分数据用于测试检查训练好的模型效果)等。
- Select a model and train it:选择合适的数据挖掘模型,从各种数据挖掘算法中进行选择和尝试,并进行训练。
- Fine-tune your model:模型参数调优,进一步提升算法模型的效果。
- Present your solution.:提交解决方案。
- Launch, monitor, and maintain your system:发布、监控和维护系统。
3.Sklearn估计器的fit,predict函数接口
fit(x,y)用于训练
predict(x)用于预测
4.算法评价指标(15.2节)
准确率(正确率)=所有预测正确的样本/总的样本 (TP+TN)/总
精确率= 将正类预测为正类 / 所有预测为正类 TP/(TP+FP)【P正竖比】
召回率 = 将正类预测为正类 / 所有正真的正类 TP/(TP+FN)【R正横比】
假阳率 = 将负类预测为正类 / 所有正真的负类 FP/(TN+FP)【FPR负横比】
真阳率 = 将正类预测为正类 / 所有正真的正类 TP/(TP+FN)【TPR正横比】
F值 = 精确率 * 召回率 * 2 / ( 精确率 + 召回率) (F 值即为精确率和召回率的调和平均值)
第13章 神经网络
1.神经网络的结构和模型
上图,神经网络中最左边的一层的为输入层,包含4个神经元的输入,中间的一层为隐含层,包含4个神经元,最后一层为输出层。输入层的神经元作为隐含层的输入,同时隐含层的神经元也是输出层神经元的输入,因此这也称为前馈神经网络。多层神经网络由于加入了隐含层,模型的表达能力增强,可以灵活的应用于分类、聚类和回归问题。
- 经网络实际上就是将多个感知机进行组合,用不同的方法进行连接并作用在不同的激活函数上,此时使用的激活函数f一般使用Sigmoid函数或tanh函数。Sigmoid函数定义为:
- Sigmoid函数的好处是导数计算比较简单,降低了算法计算开销
- 通过参数与激活函数来拟合特征与目标的真实函数关系,使得预测与真实模型逼近,我们可以使用损失函数来评价模型拟合的程度,最小平方误差准则(MSE)是其中的一个常用的损失函数,其公式如下:
- 其中G是构建的模型,它根据输入矩阵X输出一个预测向量G(X),计算得到的y,yi为目标值。当预测值G(X)和真值Y的欧式距离越大,损失就越大,反之越小。
2.梯度下降法和后向传播的思想
- 梯度下降法
- 梯度就是导数
- 梯度下降是找出函数f(x)(在某个区间内)最小值所对应的x0的方法。
- 后向传播的思想
- 在人工神经网络模型中,对损失函数用梯度下降法进行迭代优化求极小值的过程使用的是BP(Back Propagation,反向传播)神经网络算法。BP算法由信号的正向传播与误差的反向传播两部分组成,正向传播即信号由网络的输入层经隐含层传递至输出层,得到网络的输出。
- 若实际输出与期望输出不一致,则传入误差反向传播阶段,在反向传播阶段,将输出误差经由隐含层向输入层反传,从而获得各层各节点的误差信号,依此信号对网络连接权值进行调整。
- 反复执行信号的正向传播与误差的反向传播,直至网络输出误差小于预先设定的阈值,或进行到预先设定的学习次数为止。
小结
以上,对本次数据挖掘期末考纲进行了进一步粗略总结,本文仅旨在对常见数据挖掘算法的复习,更为深入的学习当然还是要查阅教材和专业教程。