zoukankan      html  css  js  c++  java
  • 特征选择算法

    1. 随机森林

    摘选自:https://www.cnblogs.com/justcxtoworld/p/3447231.html

    随机森林介绍中提到了随机森林一个重要特征:能够计算单个特征变量的重要性。并且这一特征在很多方面能够得到应用,例如在银行贷款业务中能否正确的评估一个企业的信用度,关系到是否能够有效地回收贷款。但是信用评估模型的数据特征有很多,其中不乏有很多噪音,所以需要计算出每一个特征的重要性并对这些特征进行一个排序,进而可以从所有特征中选择出重要性靠前的特征。

    一:特征重要性

    在随机森林中某个特征X的重要性的计算方法如下:

    1:对于随机森林中的每一颗决策树,使用相应的OOB(袋外数据)数据来计算它的袋外数据误差,记为errOOB1.

    2:  随机地对袋外数据OOB所有样本的特征X加入噪声干扰(就可以随机的改变样本在特征X处的值),再次计算它的袋外数据误差,记为errOOB2.

    3:假设随机森林中有Ntree棵树,那么对于特征X的重要性=∑(errOOB2-errOOB1)/Ntree,之所以可以用这个表达式来作为相应特征的重要性的度量值是因为:若给某个特征随机加入噪声之后,袋外的准确率大幅度降低,则说明这个特征对于样本的分类结果影响很大,也就是说它的重要程度比较高。

    二:特征选择

    在论文 Variable Selection using Random Forests中详细的论述了基于随机森林的特征选择方法,这里我们进行一些回顾。

    首先特征选择的目标有两个:

    1:找到与应变量高度相关的特征变量。

    2:选择出数目较少的特征变量并且能够充分的预测应变量的结果。

    其次一般特征选择的步骤

    1:初步估计和排序

    a)对随机森林中的特征变量按照VI(Variable Importance)降序排序。

    b)确定删除比例,从当前的特征变量中剔除相应比例不重要的指标,从而得到一个新的特征集。

    c)用新的特征集建立新的随机森林,并计算特征集中每个特征的VI,并排序。

    d)重复以上步骤,直到剩下m个特征。

    2:根据1中得到的每个特征集和它们建立起来的随机森林,计算对应的袋外误差率(OOB err),将袋外误差率最低的特征集作为最后选定的特征集。

    2. 决策树

    欲从初始的特征集合中选取一个包含了所有重要信息的特征子集,若没有任何邻域知识作为先验假设,那就只好遍历所有的可能的子集了;然而这在计算上却是不可行的,因为这样做会遭遇组合爆炸。可行的做法是产生一个“候选子集”,评价出它的好坏,基于评价结果产生下一个候选子集,再对其进行评价,。。。这个过程持续下去。

    第一个环节是集子搜索的问题,有逐渐增加相关特征的前向搜索策略和逐渐减少特征的后向搜索,这些搜索方式都是贪心的,可能会遗漏一些更优的组合方式。

    第二个环节是子集评价问题,有基于信息增益的方式,决策树做特征选择采用了该思想。

  • 相关阅读:
    VBOX虚拟化工具做VPA学习都很方便硬件信息完全实现真实模拟
    Dynamics CRM2016 使用web api来创建注释时的注意事项
    Dynamics CRM build numbers
    域控制器的角色转移
    辅域控制器的安装方法
    利用QrCode.Net生成二维码 asp.net mvc c#
    给现有的word和pdf加水印
    利用LogParser将IIS日志插入到数据库
    短文本情感分析
    Dynamics CRM Ribbon WorkBench 当ValueRule的值为空时的设置
  • 原文地址:https://www.cnblogs.com/chaofn/p/8677428.html
Copyright © 2011-2022 走看看