汕头大学数据挖掘期末深刻复习.docx
《汕头大学数据挖掘期末深刻复习.docx》由会员分享,可在线阅读,更多相关《汕头大学数据挖掘期末深刻复习.docx(12页珍藏版)》请在冰豆网上搜索。
汕头大学数据挖掘期末深刻复习
汕头大学2019数据挖掘期末复习资料(浩军老师班)
考试范围:
数据预处理、数据关联分析、分类与预测、SVM、K-MEANS、聚类
考试题型:
简答题,复习请以实验相关内容为主
数据挖掘课程的主要内容:
1.数据挖掘概述
2.数据预处理
3.数据挖掘算法-关联分析
4.数据挖掘算法-分类与预测
5.数据挖掘算法-聚类分析
一、数据挖掘概述
什么是数据挖掘?
数据挖掘概念:
从大量数据中寻找其规律的技术,是统计学、数据库技术和人工智能技术(机器学习)的综合。
数据挖掘定义:
数据挖掘(DataMining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。
数据的特征:
大容量、含噪音(不完全、不正确)、异质数据(多种数据类型混合的数据源,来自互联网的数据是典型的例子)
数据挖掘有哪些步骤?
1.确定预测目标
2.统计数据特征
3.根据数据特征进行数据预处理
4.应用数据挖掘模型(分类、聚类、关联分析、离群点挖掘、标记等)
5.分析模型的准确率
6.找出影响模型准确率的因素,回到第3步迭代直到模型足够完美。
二、数据预处理
数据预处理有哪些步骤?
1.数据清理
2.数据集成
3.数据归约
4.数据变换与数据离散化
为什么要进行数据预处理?
现实世界的数据是不完整的、含有噪声的、不一致的、冗余的。
低质量的数据将导致低质量的挖掘结果。
1)现实世界的数据一般是脏的、不完整的和不一致的。
2)数据预处理技术可以改进数据的质量,从而有助于提高其后的挖掘过程的精度和性能。
3)高质量的决策必然依赖于高质量的数据,因此数据预处理是知识发现过程的重要步骤。
数据的质量涉及的三个要素是?
准确性,完整性和一致性。
现实世界的数据一般是脏的不完整的不一致的。
数据预处理技术可以改善数据的质量。
如何填充数据中存在的缺失值?
1.忽略元组(删除)
2.使用一个全局常量填充空缺值(例如NULL)
3.使用属性的平均值、众数、中位数来填充空缺值
4.人工填充空缺值
数据清理
补充缺失的属性值:
使用属性的中心度量(如均值或者中位数或者众数(频率度量出现单峰)填充缺失值。
使用最可能的值填充缺失值(可以用回归,使用贝叶斯形式化方法)
光滑数据,去掉噪声:
噪声是被测量的变量的随机误差或者方差。
数据光滑的技术:
分箱法,把有序的数据数量等频地分到箱子中,可以用箱的均值光滑,用箱的边界值光滑,用箱的中位数光滑。
数据集成将数据由多个数据源合并成一个一致的数据存储,如数据仓库(集成多个数据库)。
数据归约可以通过如聚集、删除冗余特征或者聚类来降低数据的规模。
(得到数据的简化表示)
简化数据、但产生相同或者相似的结果
通过选择替代的、“较小的”数据表示形式来减少数据量。
数据变换(例如,规范化,离散化)可以把数据压缩到较小的区间,如0.0到1.0。
这可以提高涉及距离度量的挖掘算法的准确率和效率。
规范化和聚集
数据最小-最大规范化
最小-最大规范化:
将原始数据v经线性变换,映射到区间[new_minA,new_maxA]
选择区间,找到数据最大值和最小值,进行区间规范化
离群点可能影响规范化
零族规范化z-score规范化(零均值规范化):
属性A的值基于A的平均值和标准差规范化。
对离群点不敏感
离散化:
通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。
概念解释
离群点:
与数据的一般行为或模型不一致的数据对象
数据错误不可避免
数据输入和获取过程出现的错误
数据集成表现出来的错误
数据传输过程所引入的错误
分箱:
通过考察数据的“近邻”(周围的值)来光滑有序数据的值。
局部光滑。
回归:
(线性回归,多元线性回归)用一个函数(回归函数)拟合数据来光滑数据。
聚类:
将类似的值聚集为簇。
可以识别并删除离群点、解决数据的不一致
基本描述数据汇总的图形显示(数据排序后使用)
盒图(需要先将数据进行有序排列):
盒图可以用五数概括(上下四分位数、中位数、上下边缘)
四分位数是3个值,把排序的数据集分成4个相等的部分。
盒的端点一般在四分位数上,使得盒的长度是四分位数的极差IQR(上四分位数75%,下四分位数25%)
中位数用盒内的线标记。
盒外两条虚线(称为胡须)延伸到最小和最大的观测值(上边缘、下边缘)。
超过过四分位数1.5*IQR时,单独画出离群点,否则让胡须扩展到它们。
直方图:
通常让一个桶代表给定属性的一个连续值域。
概括给定属性分布的图形方法,每个矩形等宽。
分位数图:
是一种观察单变量数据分布的简单有效的方法。
分位数-分位数图可以查看一个分布到另外一个分布是否有漂移(确定间隔)
散布图(散点图):
是一种观察双变量数据的有用的方法,用于观察点簇和离群点,或考察相关联系的可能性。
确定两个数值变量之间看上去是否存在联系、模式或者趋势的有效图形之一。
两个变量属性的三个关系可以从散点图上看出来:
正相关、负相关、不相关。
分布式度量、代数度量、整体度量的概念
1)分布式度量:
可以通过如下方法计算度量(即函数):
将数据集划分成较小的子集,计算每个子集的度量,然后合并计算结果,得到原(整个)数据集的度量值。
sum()、count()、min()、max()
2)代数度量:
可以通过应用一个代数函数于一个或多个分布度量计算的度量(平均数sum/count)
3)整体度量:
必须对整个数据集计算的度量。
例如:
中位数、众数
三、数据关联分析
关联规则挖掘(AssociationRuleMining)是数据挖掘中最活跃的研究内容之一。
一个典型的关联规则的例子:
70%购买了牛奶的顾客将倾向于同时购买面包。
发现这样的关联规则可以为市场预测、决策和策划等方面提供依据。
技术用语解释:
频繁模式是频繁地出现在数据集中的模式(如项集、子序列、子结构)
频繁项集:
例如,频繁地同时出现在交易数据集中的商品项目(如牛奶与面包)的集合是频繁项集。
序列模式:
例如,先买PC,然后是数码相机,再后是内存卡,如果它频繁地出现在历史数据库中,则称它为一个频繁的序列模式。
子结构:
一个子结构可能涉及不同的结构形式,如子图、子树或者子格,它可能与项集或者子序列结合在一起。
如果一个子结构频繁地出现,则称它为频繁的结构模式。
关联规则中的支持度和置信度?
规则的支持度和置信度是规则兴趣度的两种度量。
它们分别反映所发现规则的有用性和确定性。
Computer=>antivirus_software[support=2%;confidence=60%]
表示所分析的所有事物的2%显示计算机和杀毒软件被同时购买,置信度60%意味购买计算机的顾客60%也购买了杀毒软件。
支持度(项集X在交易集中出现的概率)
可信度(置信度)
⏹关联规则的可信度(Confidence)是指包含X和Y的交易数与包含X的交易数之比:
⏹关联规则的可信度反映了如果交易中包含X,则交易中同时出现Y的概率。
⏹例如:
关联规则R1:
{bread}{milk}的可信度为confidence(R1)=support({bread,milk})/support({bread})=0.5/0.7=5/7。
项目与项集
⏹设I={i1,i2,…,im}是由m个不同项目构成的集合,其中的每个ik(k=1,2,…,m)被称为一个项目(Item)。
❑例如:
在超市的关联规则挖掘中,项目就是顾客购买的各种商品,如:
bread,milk等。
⏹项目的集合I被称为项目集合(Itemset),简称项集。
❑I中元素个数称为项集的长度;
⏹例如:
超市出售6种商品,即:
项集I中包含6个项目,则I的长度为6。
❑长度为k的项集称为k-项集(k-Itemset)。
⏹例如:
对于项集{cake,milk},可称为2-项集。
项集的最小支持度与频繁集
⏹用于发现关联规则的项集必须满足的最小支持度的阈值,称为项集的最小支持度(MinimumSupport),记为supmin。
❑从统计意义上讲,它表示用户关心的关联规则必须满足的最低重要性。
❑只有满足最小支持度的项集才能产生关联规则。
⏹支持度大于或等于supmin的项集称为频繁项集,简称频繁集,反之则称为非频繁集。
❑通常,k-项集如果满足supmin,可称为k-频繁集,记作Lk。
强关联规则
⏹关联规则的最小支持度(MinimumSupport)表示关联规则需要满足的最低支持度,记为supmin。
⏹关联规则的最小可信度(MinimumConfidence)表示关联规则需要满足的最低可信度,记为confmin。
⏹如果关联规则同时满足如下两个条件:
support(XY)supmin
confidence(XY)confmin
⏹称关联规则为强关联规则,否则称为弱关联规则。
⏹在挖掘关联规则时,产生的关联规则要经过supmin和confmin的衡量,筛选出来的强关联规则才能用于指导决策。
关联规则的挖掘:
经典算法:
Apriori算法
关联规则挖掘包含以下两个步骤:
⏹首先,找出所有频繁集;
⏹其次,由频繁集产生强关联规则。
Apriori算法通过多次扫描数据集,找出所有频繁集,然后用这些频繁集产生强关联规则
Apriori算法通过迭代来穷举出数据集中的所有频繁集。
⏹算法过程:
❑输入数据集D,最小支持度阈值SUPmin
❑首先,产生1-频繁集L1;
❑其次,在L1上通过连接和修剪产生2-频繁集L2;
❑依次类推,可在Lk上通过连接和修剪产生(k+1)-频繁集Lk+1;
❑最后,直到无法产生新的频繁集为止。
⏹连接:
只相差一个项目的两个项集才能进行连接(集合“并”操作)。
例如:
由L2生成C3的过程中,L2中的{A,C}和{B,C}只相差一个项目,因此它们可以连接生成{A,B,C}。
但是,L2中的{A,C}和{B,E}无法进行连接。
⏹修剪:
去除子集不是频繁集的项集。
Apriori算法的性质:
频繁集的所有非空子集也一定是频繁的。
例如:
虽然L2中的{A,C}和{B,C}可以连接生成{A,B,C},但是由于{A,B,C}的子集{A,B}不是频繁集(不在L2中),因此,需要从C3中删除{A,B,C}。
描述算法过程:
1.输入:
数据集D,最小支持度阈值supmin。
2.K=1
3.产生CK:
K-候选频繁集
4.根据最小支持度筛选K-候选频繁集生成LK:
K-频繁集
5.循环2~3步骤,直到无法生成新的频繁集为止
6.输出可以产生关联规则的所有频繁集L。
Apriori的挑战与改进思路
⏹挑战
❑多遍事务数据库扫描
❑候选频繁项集的数目巨大
❑候选项集的计数工作量较大
⏹改进Apriori:
思路
❑减少事务数据库扫描次数
❑减少候选项集数目
❑有效支持候选项集的计数
提高Apriori的有效性
1.基于散列的技术
2.事务压缩
3.划分
4.抽样
5.动态项集技术
四、数据分类与预测
分类有那些方法,优缺点?
判定树归纳分类(缺失数据敏感)
-优点:
1.决策树易于理解和解释
2.能够同时处理数据型和常规型属性
3.在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
4.如果给定一个观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。
-缺点:
一、对于那些各类别样本数量不一致的数据,在决策树当中,信息增益的结果偏向于那些具有更多数值的特征。
二、决策树处理缺失数据时的困难。
三、过度拟合问题的出现。
四、忽略数据集中属性之间的相关性。
朴素贝叶斯分类:
(缺失数据不敏感)
-优点:
易于实现,对缺失数据不太敏感,算法也比较简单,常用于文本分类。
小规模数据表现好.
-缺点:
需要知道先验概率,很多时候先验概率基于假设,假设类条件独立假设不一定总是成立。
朴素贝叶斯分类无法对属性之间的依赖关系建模。
人工神经网络分类(缺失数据不敏感)
-优点:
分类的准确度高,并行分布处理能力强,分布存储及学习能力强,对噪声神经有较强的鲁棒性和容错能力,能充分逼近复杂的非线性关系,具备联想记忆的功能等。
缺点:
神经网络需要大量的参数。
不能观察之间的学习过程,输出结果难以解释,会影响到结果的可信度和可接受程度;学习时间过长,甚至可能达不到学习的目的。
SVM支持向量机(缺失数据敏感)
SVM的优点:
一、可以解决小样本情况下的机器学习问题。
二、可以提高泛化性能。
三、可以解决高维问题。
四、可以解决非线性问题。
五、可以避免神经网络结构选择和局部极小点问题。
SVM的缺点:
一、对缺失数据敏感。
二、对非线性问题没有通用解决方案,必须谨慎选择Kernelfunction来处理。
遗传算法的优点:
一、与问题领域无关切快速随机的搜索能力。
二、搜索从群体出发,具有潜在的并行性,可以进行多个个体的同时比较,鲁棒性好
三、搜索使用评价函数启发,过程简单。
四、使用概率机制进行迭代,具有随机性。
五、具有可扩展性,容易与其他算法结合。
遗传算法的缺点:
一、遗传算法的编程实现比较复杂,首先需要对问题进行编码,找到最优解之后还需要对问题进行解码,
二、另外三个算子的实现也有许多参数,如交叉率和变异率,并且这些参数的选择严重影响解的品质,而目前这些参数的选择大部分是依靠经验.没有能够及时利用网络的反馈信息,故算法的搜索速度比较慢,要得要较精确的解需要较多的训练时间。
三、算法对初始种群的选择有一定的依赖性,能够结合一些启发算法进行改进。
K-最临近分类KNN
优点
简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归;
可用于数值型数据和离散型数据;
训练时间复杂度为O(n);无数据输入假定;
对异常值不敏感。
缺点:
计算复杂性高;空间复杂性高;
样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少);
一般数值很大的时候不用这个,计算量太大。
但是单个样本又不能太少,否则容易发生误分。
最大的缺点是无法给出数据的内在含义。
聚类分析有哪些方法?
它们的优缺点是什么?
k-means:
是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据。
优点:
k均值聚类法快速高效,特别是大量数据时,准确性高一些,但是需要你自己指定聚类的类别数量
均值漂移聚类
高斯混合模型最大期望聚类
什么是分类、什么是预测?
⏹分类
⏹预测类标识(离散的)
⏹基于带类标识的数据构建分类模型,然后使用分类模型对未知类标识的数据分类
⏹预测
⏹对连续值函数建模,即预测未知或丢失的值
分类——一个两步的过程
⏹建立模型:
描述数据中的类
⏹每个元组/样本都属于由其类标识所确定的类
⏹用于构建模型的数据集被称为训练数据集
⏹模型的表现形式有分类规则,判定树,和数学公式
⏹使用模型进行分类:
将未知类标识的数据分类
⏹评估模型的预测准确率
⏹将模型预测的测试样本的类与测试样本的类标识进行比较
⏹模型的预测准确率等于被模型正确分类的测试样本在测试数据集中所占的比例
⏹测试数据集应该与训练数据集相互独立,否则将会产生过拟合问题
⏹如果模型的预测准确率可以接受,就可用模型对未知类标识的数据对象进行分类
有指导的学习(分类)
⏹指导:
训练数据(度量,观察)带有类标识,即训练数据集中的每个数据对象所属的类已知
无指导的学习(聚类)
⏹训练数据的类标识未知
⏹对给定的一组观察数据或度量数据,识别数据中存在的类(簇)
-信息熵指的是系统的混乱程度
小结
⏹分类是一个被广泛研究的问题(主要在统计学,机器学习和神经网络)
⏹分类是数据挖掘中用得最多的技术之一
⏹判定树归纳、朴素贝叶斯分类、贝叶斯信念网络、后向传播、关联挖掘等算法
⏹评估模型的准确率;提高模型的准确率;其他度量模型准确性的量
支持向量机SVM(一种对线性和非线性数据进行分类的方法)
1.SVM从线性可分情况下的最优分类面发展而来。
2.最优分类面就是要求分类线不但能将两类正确分开(训练错误率为0),且使分类间隔最大。
3.SVM考虑寻找一个满足分类要求的超平面,并且使训练集中的点距离分类面尽可能的远,也就是寻找一个分类面使它两侧的空白区域(margin)最大。
4.过两类样本中离分类面最近的点且平行于最优分类面的超平面上H1,H2的训练样本就叫做支持向量。
特点:
尽管SVM的训练也非常慢,但是其对复杂的非线性边界的建模能力,它们是非常准确的。
可以用于数值预测和分类。
(手写数字识别,语音识别,人脸识别,文本分类)
SVM通过搜索最大边缘超平面来寻找决策边界
题目:
使用不同的核函数来优化非线性SVM,SVM核函数的作用?
不同核函数的效果如何?
(重点)
题目:
聚类分析占考试比重很大,聚类分析的5种策略?
什么是聚类分析?
聚类分析有哪些方法?
优缺点?
自行补充(重点)
考试概念居多,基本没有计算,但考题年年会微调,范围以考试大纲为准。