fcbf特征选择步骤_专栏 | 基于 Jupyter 的特征工程手册:特征选择(三)

本文介绍了多元特征过滤方法,包括最大相关最小冗余(mRMR)、基于相关性的特征选择(CFS)、基于相关性的快速特征选择(FCBF)、ReliefF和基于谱图的特征选择(SPEC)。这些方法旨在选择与目标变量高度相关且低冗余的特征,提高模型性能。文章通过示例代码展示了如何在skfeature库中应用这些方法。
摘要由CSDN通过智能技术生成

红色石头的个人网站:红色石头的个人博客-机器学习、深度学习之路​www.redstonewill.com

数据预处理后,我们生成了大量的新变量(比如独热编码生成了大量仅包含0或1的变量)。但实际上,部分新生成的变量可能是多余:一方面它们本身不一定包含有用的信息,故无法提高模型性能;另一方面过这些多余变量在构建模型时会消耗大量内存和计算能力。因此,我们应该进行特征选择并选择特征子集进行建模。

项目地址:https://github.com/YC-Coder-Chen/feature-engineering-handbook​github.com

本文将介绍特征工程中的 Multivariate Filter Methods 多元特征过滤。

目录:

1.1.2 Multivariate Filter Methods 多元特征过滤

单变量特征过滤仅考虑了每一变量与目标变量之间的关系,而忽视了变量间的相关性。多元变量过滤则解决了这一问题,其考虑了变量之间的相互关系,基于整个特征空间选择最佳特征。因此多元特征过滤在删除冗余变量方面表现更好。这里利用亚利桑那州立大学开发的skfeature模块来进行多元特征过滤。

1.1.2.1 Max-Relevance Min-Redundancy (mRMR) 最大相关最小冗余

最大相关最小冗余试图寻找一个与目标变量有较高相关性(例如:MI)的变量子集,同时这个子集中的变量还应具有较低的相互关联性。通过解析源代码,我们发现,skfeature中最大相关最小冗余方法仅适用于分类问题中的离散特征,因为它计算过程中使用的是计算离散情形下的互信息 (MI)的公式。

公式:

假设数据集共包含m个特征,则基于mRMR公式,其中第n个特征的重要性可被表示为:

( , ) 为变量 与目标变量Y的互信息。1/| |∑ ∈ ( , )为变量 与现有变量子集中所有变量的互信息的平均值。

mRMR其实是一个逐步(step-wise)的方法,在mRMR特征选择过程的每一步中,具有最高特征重要性 ( )的变量 ,( ∉ )将会被加入子集中,直至子集中的变量数达到用户要求。

import numpy as np

from skfeature.function.information_theoretical_based import MRMR

from sklearn.datasets import load_iris # 利用iris数据作为演示数据集

# 载入数据集

iris = load_iris()

X, y = iris.data, iris.target

# 选择前100个观测点作为训练集

# 剩下的50个观测点作为测试集

# 由于skfeature中的mRMR仅适用于离散变量

# 因此我们通过将float转换为int而把所有连续变量转换为离散变量

# 此转换仅用于演示目的

train_set &#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值