特征选择—方差过滤

Filter过滤法
特征选择完全独立于机器学习算法,根据各种统计检验中的分数以及相关性的各项指标来选择特征。
在这里插入图片描述方差过滤VarianceThreshold:
根据特征本身的方差来筛选特征。过滤特征本身的方差很小的特征,所以无论特征工程要做什么,应优先考虑消除方差为0的特征。

# 重要参数threshold表示方差的阈值,方差舍弃小于threshold的特征,默认为0
from sklearn.feature_selection import VarianceThreshold
selector = VarianceThreshold()				# 实例化,不填参数默认方差为0
x_var0 = selector.fit_transform(x)          # 获取删除不合格特征之后的新特征矩阵
x_var0.shape								# 过滤后方差的shape

可以进一步按照设置阈值进行筛选:

import numpy as np
x_fsvar = VarianceThreshold(np.median(x.var().values)).fit_transform(x)	# 此处为中位数
x_fsvar.shape								# 再次过滤后的方差的shape

当特征是二分类时,方差计算公式:
在这里插入图片描述

#假设p=0.8即二分类占到80%以上的时候删除特征
x_bar = VarianceThreshold(0.8*(1-0.8)).fit_transform(x)

方差过滤后对模型的影响:
在维持算法表现的前提,帮助算法降低计算成本
小白,望大佬指点

你可能感兴趣的:(特征工程,特征工程)