机器学习-特征选择

24 年 5 月 28 日 星期二
517 字
3 分钟

为了解决数据的维数灾难 需要进行数据降维或者特征选择 特征选择与降维的区别在于特征选择是从所有特征中简单地选 出相关特征, 选择出来的特征就是原来的特征; 降维则对原来 的 特征进行了映射变换, 降维后的特征均不再是原来的特征。

  1. 计算每个特征的信息增益,使用特征选择算法(如信息增益、基尼系数、互信息等)。
  2. 按照信息增益值对特征进行降序排序。
  3. 选择前k个特征作为最终选取的特征集合。
  • 子集搜索 前向搜索(每次加上最好的特征) 后向(从全集开始 每次去掉最差的特征) 双向搜索(设置两个集合来 一个前向 一个后向)

  • 子集评价 信息熵定义 Ent(D)=(i=1)kpklog2pkEnt(D)=-\sum\limits_{(i=1)}^{k}p_{k}log_{2}p_{k}
    D为数据集 pkp_{k} 是这一数据类别在总数中的比例 信息增益 Gain(A)=Ent(D)v=1VDvDEnt(Dv)Gain(A)=Ent(D)-\sum\limits_{v=1}^{V}\frac{|D^{v}|}{{|D|}}Ent(D^v) 其中 v为子集的变量 DvD|\frac{D^{v}}{D}| 为权重 Ent(Dv)Ent(D^{v}) 为对应指标的熵 信息增益越大 这个指标就越有用

  • Relief(Relevant Features) 这个思想认为 有用的特征应该在类内差异很小 类间差异大 有公式σj=i(diff(xij,xi,nmj)2diff(xij,xi,nhj)2)\sigma^{j}=\sum\limits_{i}(diff(x_{i}^{j},x_{i,nm}^{j})^2-diff(x_{i}^{j},x_{i,nh}^{j})^{2}) 其中 xijx_{i}^{j}是任意的点 x_nm代表异类的点 x_nh代表同类的点

信息增益计算示例

特征1特征2类别
01
10
11
00
11

P(是) = 3/5,P(否) = 2/5 整个数据集的信息熵为: Entropy(D) = - P(是) _ log2(P(是)) - P(否) _ log2(P(否)) = - (3/5) _ log2(3/5) - (2/5) _ log2(2/5) ≈ 0.971 根据数据

特征1
01/21/2
12/31/3

计算特征1的信息熵: Entropy(特征1=0) = - (1/2) _ log2(1/2) - (1/2) _ log2(1/2) Entropy(特征1=1) = - (2/3) _ log2(2/3) - (1/3) _ log2(1/3) 权重 Weight(特征1=0) = 2/5 Weight(特征1=1) = 3/5 计算信息增益: Information Gain(特征1) = Entropy(D) - (Weight(特征1=0) _ Entropy(特征1=0) + Weight(特征1=1) _ Entropy(特征1=1))

计算结果为: Information Gain(特征1) ≈ 0.971 - (2/5 _ 1 + 3/5 _ 0.918) ≈ 0.020

文章标题:机器学习-特征选择

文章作者:Blank

文章链接:https://blankxiao.github.io/posts/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/%E7%89%B9%E5%BE%81%E9%80%89%E6%8B%A9[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。