《数据挖掘导论》读书笔记(二)—— 数据 (2)

定义:仅使用特征的子集来降低维度。
特征选择的理想方法:将所有可能的特征子集作为感兴趣的数据挖掘算法的输入,然后选取产生最好结果的子集。
特征选择的一般方法:

嵌入方法(embedded approach):数据挖掘算法本身会进行特征选择。

过滤方法(filter approach):使用某种独立于数据挖掘任务的方法,在数据挖掘算法运行前进行特征选择。

包装方法(wrapper approach):这些方法将目标数据挖掘算法作为黑盒,使用类似于前面介绍的理想算法,但通常并不枚举所有可能的子集来找出最佳属性子集。

特征子集选择体系
可将过滤和包装方法放到一个共同的体系结构中,特征选择的过程可以看作由四部分组成:子集评估度量、控制新的特征子集产生的搜索策略、停止搜索判断和验证过程。过滤方法和包装方法的唯一不同是它们使用了不同的特征子集评估方法。对于包装方法,子集评估使用目标数据挖掘算法;对于过滤算法,子集评估技术不同于目标数据挖掘算法。流程如下图。

特征子集选择过程流程图


特征加权
特征越重要,所赋予的权值越大;对不太重要的特征,赋予较小的权值。

特征创建

定义:由原来的属性创建新的属性集,更有效地捕捉数据集中的重要信息。
方法:特征创建的方法主要有以下三种:

特征提取(feature extraction)
最常用的特征提取技术都是高度针对具体领域的,对于特定领域,会开发新的特征和特征提取方法。

映射数据到新的空间
使用一种完全不同的视角挖掘数据可能揭示出重要和有趣的特征,如使用傅里叶变换(Fourier transform)、小波变换(wavelet transform)。

特征构造
由原特征构造新特征。如用质量和体积来构造密度。

离散化和二元化

定义:
离散化(discretization):将连续属性变换成分类属性。
二元化(binarization):连续和离散属性变换成一个或多个二元属性。

变量变换(variable transformation)

定义:用于变量值的变换,对于每个对象,变换都作用于该对象的变量值。
两种重要的变量变换类型:

简单函数变换
一个简单的数学函数(如平方根、倒数、对数)分别作用于每一个值。

规范化
使整个值的集合具有特定的性质。

相似性和相异性的度量 定义

两个对象的相似度(similarity)的非正式定义是这两个对象相似程度的数值度量。
两个对象的相异度(dissimilarity)的非正式定义是这两个对象差异程度的数值度量。

简单属性的相似度与相似度

x,y是两个对象,这两个对象都只有一个属性,d是两个对象之间的相异度,s是两个对象之间的相似度。

对于标称属性:
如果x=y, d=0, s=1;如果x!=y,d=1, s=0

对于序数属性:
d = |x-y|/(n-1) (值映射到整数0到n-1,其中n是值的个数)
s = 1-d

对于区间或比率属性:
d = |x-y|
s = -d, s = 1/(1+d), s = e^(-d), s = 1 - (d-min_d)/(max_d-min_d)

数据对象之间的相异度

闵可夫斯基距离(Minkowski distance)
$$d(x,y) = \sqrt[r]{\sum_{k=1}^{n} \left | x_{k}-y_{k} \right |^{r}} \tag{2-1}$$
其中,r是参数,常见有以下三种例子。

r=1,城市街区(也称曼哈顿、出租车、\(L_1\)范数)距离,常见的是海明距离(Hamming distance)。

r=2,欧几里得距离(\(L_2\)范数)。

r=\(\infty\),上确界(\(L_{max}\)或\(L_\infty\)范数)。

邻近性度量

二元数据的相似性度量
简单匹配系数(Simple Matching Coefficient, SMC)
$$SMC=(f_{11}+f_{00})/(f_{11}+f_{00}+f_{10}+f_{01}) \tag{2-2}$$
其中,
\(f_{11}\)是x取1并且y取1的属性个数
\(f_{00}\)是x取0并且y取0的属性个数
\(f_{10}\)是x取1并且y取0的属性个数
\(f_{01}\)是x取0并且y取1的属性个数
Jaccard系数(Jaccard Coefficient)
$$SMC=f_{11}/(f_{11}+f_{10}+f_{01}) \tag{2-3}$$
有些情况下,x取0,y取0的属性较多,但并不能说明这两个对象具有相似性。

余弦相似度(cosine similarity)
$$cos(x,y)=(x·y)/(\left \| x \right \| \left \| y \right \|)$$

选择正确的邻近性度量

对于许多稠密的、连续的数据,通常使用距离度量,连续属性之间的邻近度通常用属性值的差来表示。
对于稀疏数据,余弦、Jaccard和广义Jaccard度量对于这类数据是合适的。
如果时间序列的量值是重要的,可以使用欧几里得距离。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwgyj.html