详细文章转自:https://blog.csdn.net/sinat_22594309/article/details/74923643
数据挖掘的一般过程包括以下这几个方面:
1、 数据预处理
2、 数据挖掘
3、 后处理
一、数据预处理
主要手段分为两种:选择分析所需的数据对象和属性;创造或改变属性。
1.常见的几种预处理方法:聚集、抽样、维归约、特征子集的选择、特征的创建、离散化和二元化、变量变换。
- 就是把相关或者类似的数据对象集合到一起,常常用在数据探索阶段。另外,聚集还有一个功能就是可以改变数据的分辨率,以适应不同目的的数据挖掘工作。
- 最常见的抽样方法通常是随机抽样,但如果我们处理的数据是非对称的,那么通常我们要采取分层抽样,因为随机抽样有可能把我们的稀疏样本给淹没了。
- 目的就是降低数据集的维度以期减少我们的计算量。最简单的维归约方法就是去除无效或者不相关的特征。当然,除此之外,我们也有一些数学方法来进行降维,比如说主成分分析(PCA)和奇异值分解(SVD)。
- 维归约确实帮我们去除了一部分冗余的特征,但很多时候冗余的特征并不是我们靠经验就可以全部筛选出来的。这个时候,一方面我们依靠某些算法计算特征的重要程度来进行特征的筛选,比如树的一些算法。另一方面如果计算资源足够,我们可以尝试不同的特征组合选择效果最好的特征组合用于我们最后的数据挖掘任务。当然,也有算法通过赋予特征权值的方法来进行特征的筛选,比如说支持向量机等。
- 特征当做数据挖掘中最重要的东西,说实话,合适的特征及其组合通常比所谓更加高级的算法要重要的多,它可以非常直观迅速地提升你数据挖掘的效果。那么特征的创建当然包含上面所说的一个特征选择的过程,此外,有的时候我们自己建立新的特征,比如对现有特征进行一定的处理,用现在特征值的平方作为新的特征,可以看到数据和目标变量之间是否存在二次关系,还有就是把数据映射到新的空间,最常见的就是傅里叶分析了,把时间谱上的数据映射到频谱上,就可以从杂乱无序的数据中寻找到规律。
- 离散化和二元化算是日常数据挖掘中最常见的手段了。首先是离散化,这其中需要注意的就是分类的组数和分类的标准,常见的有等宽和等频率离散化,还是要根据实际情况进行选择。而二元化相对就更好理解了,二分类属性自不必说,对于对分类的属性,可利用多个二元变量的组合来表示不同的分类情况。
- 变量变换涉及两种情况。一是简单的数值变换,这里只要考虑属性是否是序数型的,做变换时是否需要保序,二是规范化和标准化,规范化通常是指你的算法对变量的区间有一定的要求,所以你需要通过放缩使其落在对应的区间内,而标准化则是为了避免某些数值偏大的属性决定结果,将数据转换成一个均值0标准差1的新变量。
2.相似性和相异性度量:
相似性和相异性是数据挖掘中非常重要的衡量标准,尤其是聚类算法和异常检测,他们据此进行类的划分以及异常点的判断,接下来我们就介绍一些最常见的相似性及相异性度量。
最最最常见的莫过于距离了,有一个闽科夫斯基距离,定义为
很明显r为2的时候就是我们最常用的欧几里得距离,r为1的时候就是曼哈顿距离,也就是各个维度上距离之和,r趋向于无穷时,就是各维度间最大的那个距离。选择不同范数的距离都可以作为数据相异性的标准,距离越大则相异性越大。
相似度比较常见的有两种,Jaccard系数和余弦相似度。
Jaccard相似度的定义为
Jaccard相似度通常用来处理非对称的二元属性对象,因为只针对其中稀疏的属性,所以可以有效防止考虑两种属性计算相似度所有样本都相似的情况。
由于相似度通常是落在0到1这个区间内的,所以很自然的想到用三角函数来表征相似度,余弦相似度定义为
两个向量的点乘除以两个向量的模,这样求得的就是两个向量夹角的余弦值,两个向量重合时相似度最大为1,垂直是相似度最小为0。
文章来源: 数据挖掘(1)知识点总结