5个特征选择算法,让你的数据处理得心应手

全文共5462字,预计学习时长11分钟

 

 

图片来源:https://unsplash.com/@seefromthesky

 

数据科学是研究算法的学问。本文将会介绍一些处理数据时最常用的特征选择技术。

 

我们经常遇到这样的情况:在创建了大量特征后,又需要减少数量,最后再使用相关性或者基于树的方法来找出其中的重要特征。那么,如何让这些方法变得更有结构呢?

 

 

为何要进行特征选择?

 

在文章开始之前,先来回答这个问题:为什么不将所有的特征都交给机器学习算法,让它来决定哪些特征比较重要呢?

 

以下便是不能的三个原因:

 

1. 维数的诅咒——过拟合

 

 

维数的诅咒:随着特征空间维数的增加,配置数量将会以指数级增长,因此观测量会下降

 

如果数据中的列数多于行数,就能完美匹配训练数据,但这却并不适用于新样本。因此这样什么也没学到。

 

2. 奥卡姆剃刀原理

 

模型应当简单易懂。如果特征太多,就失去了可解释性。

 

3. 无用输入和输出

 

很多时候会出现像名称或ID变量等非信息特征。劣质输入也会产生劣质输出。

 

此外,大量特征会使模型量大、耗时,更难落实生产。

 

 

那应该怎么做?

 

 

答案是:只选择有用特征。

 

幸运的是,Scikit-learn能便捷简单地选择特征。特性选择有很多种方法,但是大多可以分为三类:

 

• 过滤:列入一些筛选特征的标准,如相关性/卡方分布。

 

• 包装:包装法将特征选择看作是搜索问题。如回归特征消除。

 

• 嵌入:嵌入法使用内置了特征选择方法的算法。比如,Lasso和RF都有各自的特征选择方法。

 

理论已经讲够了,接下来开始说五个特征选择的方法。

 

本文将使用数据集来方便理解——用一个足球运动员的数据集来找到成为优秀足球运动员的秘诀。

 

 

 

如果不理解足球术语也没关系,术语并不多。

 

Kaggle Kernel代码:https://www.kaggle.com/mlwhiz/feature-selection-using-footba

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值