数据挖掘day3——特征排列的熵度量

来源:互联网 发布:python fixflow 编辑:程序博客网 时间:2024/06/07 02:54
参考书目:《数据挖掘:概念、模型方法和算法》  第二版  清华大学出版社

熵是一个全局度量,有序结构的熵很小,无需结构的熵较大。基于熵度量的特征排列基本前提是所有的样本都要用特征的向量形式表示;要点是去除尽可能多的特征,同时保证数据集中的特征的差别水平。如果在进行特征规约后的熵与原始集的熵差值较小,就说明规约后的特征及比较接近原始集。该算法基于一个相似性度量S。
    (1) 当样本为数值型时,两个样本之间的相似性度量S可以定义为:

     其中Dij是样本集Xi和Xj间的距离,α是一个参数,其数学表达式为:

    D是数据集中样本的平均距离。Dij可以用标准化的欧氏距离来表示(在标准化的欧式距离中距离越近越接近于0,距离越远越接近于1)


    (2) 当样本数据为名义变量时,相似性度量S可以直接由汉明距离(Harmming Distance)来确定:


    其中,如果Xik=Xjk,则|Xik=Xjk| = 1,反之等于0。
    (3) 对于混合型数据,在计算相似性度量之前,可以将数据离散化,并将数值型特征转化为名义特征。

    在计算了数据集(包含N个样本)中所有特征对(任意两个特征组成一个特征对,所以共有N*(N-1)/2个)之后便可以计算熵E:



下面列出整个算法的步骤:
    (1) 计算数据集中所有特征对的相似性度量Sij
    (2)计算原始特征集F的熵E
    (3)for i = 1 to p      其中p是特征集F中特征的个数
         ① 从特征集中去除fi,计算剩余特征集F-{fi}的熵
         ② 计算特征集F的熵与F-{fi}熵的差值
    (4)选择特征fk,使得特征特征集F的熵与F-{fk}的熵的差值最小
    (5)更新特征集F,F = F - {fk}
    (6)重复(3)——(5)步,直到只有一个特征为止

可以看出,当数据集中特征数量较多时,复杂性会明显增加。
0 0
原创粉丝点击