机器学习中的特征——特征选择的方法以及注意点

【转】http://blog.csdn.net/google19890102/article/details/40019271

关于机器学习中的特征我有话要说

    在这次校园招聘的过程中,我学到了很多的东西,也纠正了我之前的算法至上的思想,尤其是面试百度的过程中,让我渐渐意识到机器学习不是唯有算法,机器学习是一个过程,这样的过程包括数据处理+模型训练,而数据处理又包括了特征提取,特征表示。模型训练中有训练的策略,训练的模型,算法相关等等的一套流程,一个好的预测模型与特征提取,特征表示的方法息息相关,而算法这是作用于特征数据集上的一种策略。
    以上是我个人的一些观点,如有不同见解的人,也希望你们留言,大家一起探讨,一起进步。今天还是要来说说我看到的一个材料“ An Introduction to Feature Selection ”,主要是我对这篇文章的一个总结与我个人的一些认识。

一、特征选择和降维

1、相同点和不同点

    特征选择和降维有着些许的相似点,这两者达到的效果是一样的,就是试图去减少特征数据集中的属性(或者称为特征)的数目;但是两者所采用的方式方法却不同:降维的方法主要是通过属性间的关系,如组合不同的属性得新的属性,这样就改变了原来的特征空间;而特征选择的方法是从原始特征数据集中选择出子集,是一种包含的关系,没有更改原始的特征空间。

2、降维的主要方法

二、特征选择的目标

    引用自吴军《数学之美》上的一句话:一个正确的数学模型应当在形式上是简单的。构造机器学习的模型的目的是希望能够从原始的特征数据集中学习出问题的结构与问题的本质,当然此时的挑选出的特征就应该能够对问题有更好的解释,所以特征选择的目标大致如下:

  • 提高预测的准确性
  • 构造更快,消耗更低的预测模型
  • 能够对模型有更好的理解和解释

三、特征选择的方法

    主要有三种方法:

1、Filter方法

    其主要思想是:对每一维的特征“打分”,即给每一维的特征赋予权重,这样的权重就代表着该维特征的重要性,然后依据权重排序。

    主要的方法有:

2、Wrapper方法

    其主要思想是:将子集的选择看作是一个搜索寻优问题,生成不同的组合,对组合进行评价,再与其他的组合进行比较。这样就将子集的选择看作是一个是一个优化问题,这里有很多的优化算法可以解决,尤其是一些启发式的优化算法,如GA,PSO,DE,ABC等,详见“优化算法——人工蜂群算法(ABC)”,“优化算法——粒子群算法(PSO)”。

    主要方法有:recursive feature elimination algorithm(递归特征消除算法)

3、Embedded方法

    其主要思想是:在模型既定的情况下学习出对提高模型准确性最好的属性。这句话并不是很好理解,其实是讲在确定模型的过程中,挑选出那些对模型的训练有重要意义的属性。

    主要方法:正则化,可以见“简单易学的机器学习算法——岭回归(Ridge Regression)”,岭回归就是在基本线性回归的过程中加入了正则项。

总结以及注意点

    这篇文章中最后提到了一点就是用特征选择的一点Trap。个人的理解是这样的,特征选择不同于特征提取,特征和模型是分不开,选择不同的特征训练出的模型是不同的。在机器学习=模型+策略+算法的框架下,特征选择就是模型选择的一部分,是分不开的。这样文章最后提到的特征选择和交叉验证就好理解了,是先进行分组还是先进行特征选择。

    答案是当然是先进行分组,因为交叉验证的目的是做模型选择,既然特征选择是模型选择的一部分,那么理所应当是先进行分组。如果先进行特征选择,即在整个数据集中挑选择机,这样挑选的子集就具有随机性。

    我们可以拿正则化来举例,正则化是对权重约束,这样的约束参数是在模型训练的过程中确定的,而不是事先定好然后再进行交叉验证的。

    以上是我学习的一点感悟,希望有更多的人一起参加讨论,如有哪里写的不对或者有其他任何问题,也希望能够留言。

参考文献:

An Introduction to Feature Selection  地址:http://machinelearningmastery.com/an-introduction-to-feature-selection/


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
***要性是指特征对模型预测结果的影响程度。有多种方法可以用来计算特征重要性。根据引用的内容,以下是一些常用的特征重要性排序方法: 1. 嵌入法(Embedded methods):这是一种基于模型的方法,通过训练模型并使用模型内部的特征重要性指标来选择特征。例如,可以使用sklearn库的SelectFromModel和mljar-supervised的AutoML来进行特征选择和排序。 2. 排列重要性(Permutation Importance):这种方法通过随机重排某个特征的值来评估该特征对模型性能的影响。可以使用PermutationImportance来计算特征的重要性。 3. SHAP值:SHAP值是一种特征归因方法,可以用来衡量每个特征对模型输出的贡献程度。引用提到,SHAP值是唯一一致的个性化特征归因方法需要注意的是,不同的特征重要性计算方法可能会得到不同的结果,如引用所提到的。因此,为了更全面地评估特征的重要性,可以结合多种方法来获取特征重要性的排序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [机器学习模型可解释性进行到底——特征重要性(四)](https://blog.csdn.net/sinat_26917383/article/details/115680807)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [【可解释性机器学习】排列重要性(Permutation Importance)及案例分析详解](https://blog.csdn.net/ARPOSPF/article/details/128774692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值