低方差特征过滤

最近在数据的与处理中遇到了VarianceThreshold操作,这是sklearn.feature_selection,就是数据特征值选择,为什么会有这种操作呢,其实这是在进行数据分析之前的一种数据预处理作业,以为我们遇到的数据是复杂多变的,有可能会存在很多个特征值,但是并不是每一个特征值都能很好的体现区分度,那么这样的特征值就不存在分析的价值了。

假设某特征的特征值只有0和1,并且在所有输入样本中,95%的实例的该特征取值都是1,那就可以认为这个特征作用不大。如果100%都是1,那这个特征就没意义了。当特征值都是离散型变量的时候这种方法才能用,如果是连续型变量,就需要将连续变量离散化之后才能用。而且实际当中,一般不太会有95%以上都取某个值的特征存在,所以这种方法虽然简单但是不太好用。可以把它作为特征选择的预处理,先去掉那些取值变化小的特征,然后再从接下来提到的的特征选择方法中选择合适的进行进一步的特征选择。
————————————————
版权声明:本文为CSDN博主「Danker01」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42575020/article/details/82887014
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import numpy as np
from sklearn.preprocessing import MinMaxScaler,StandardScaler
from sklearn.feature_selection import VarianceThreshold
import pandas as pd

def Character():
#过滤低方差特征
#1,获取数据
data = pd.read_csv(“simlization.txt”)
# 2,实例化一个特征
new_data = data.iloc[:, :3]

transfor = VarianceThreshold(threshold=5)
transfor.fit_transform(new_data)
print("data:\n", new_data)

return None

if name == ‘main’:
Character()

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 方差过滤法(LDF)是一种机器学习算法,它通过计算数据样本的方差来确定最好的属性,从而提高机器学习模型的性能。它的过程如下:首先,使用某种统计指标(如信息增益或基尼不纯度)计算每个属性的信息量;其次,计算每个属性的方差,并按照方差从大到小的顺序对属性进行排序;最后,从排序后的属性中挑选最优的属性,并将其作为数据集中的有用特征。示例演示如下:假设有一个数据集,它包含四个属性:A,B,C和D。为了使用方差过滤法,我们首先要计算每个属性的方差,并按照从大到小的顺序进行排序。假设计算出的方差排序结果如下:B > A > C > D,则最优属性为B,它将作为数据集中的有用特征。 ### 回答2: 方差过滤法是一种特征选择方法,在机器学习中常用于选择对目标变量影响较大的特征。其过程如下: 1. 计算每个特征方差:首先计算每个特征方差方差表示数据的变异程度。方差较小的特征表示该特征的取值相对集中,变动较小。 2. 选择方差特征:根据预先设定的阈值,筛选出方差于阈值的特征,即方差特征。阈值的选择可以根据实际问题和经验进行。 3. 移除方差特征:将筛选出的方差特征从数据集中移除,得到一个新的特征集合,该特征集合中的特征方差较高,表示该特征的取值变动较大。 通过方差过滤法,可以减少特征空间的维度,提高模型的训练速度,并且过滤掉对目标变量影响较小的特征,避免噪声和冗余的特征对模型的干扰。 下面通过一个简单的演示来说明方差过滤法的作用: 假设有一个数据集包含4个特征:身高、体重、年龄和收入。首先计算这4个特征方差,发现身高和体重的方差较大,年龄和收入的方差较小。 设定阈值为0.1,筛选出方差于0.1的特征,即年龄和收入。将这两个特征从数据集中移除,得到一个新的特征集合,只包含身高和体重。 通过方差过滤法,我们得到了一个特征集合,其中的特征方差较高,表示身高和体重的取值变动较大,这两个特征对目标变量的影响更为显著。可以将这个特征集合用于进一步的模型训练和预测。 ### 回答3: 方差过滤法是一种用于特征选择的方法,它通过计算特征方差来评估特征的重要性,从而选择对目标变量影响较大的特征方差过滤法的过程如下: 1. 首先,我们需要准备一个训练集,其中包含一些样本和相应的目标变量。 2. 然后,对于每个特征,计算其在训练集中的方差。 3. 按照方差的大小,对特征进行排序。 4. 选择具有最小方差的前n个特征,作为最终的特征子集。 下面以一个简单的例子来演示方差过滤法: 假设我们有一个训练集,包含5个样本和3个特征(X1,X2,X3),以及目标变量(Y)。 样本矩阵如下所示: | X1 | X2 | X3 | Y | |----|----|----|---| | 1 | 2 | 3 | 0 | | 4 | 5 | 6 | 1 | | 7 | 8 | 9 | 0 | | 2 | 3 | 4 | 1 | | 5 | 6 | 7 | 0 | 首先,计算每个特征方差方差(X1) = 4.3 方差(X2) = 4.3 方差(X3) = 4.3 然后,按照方差的大小进行排序: 方差排序:X1 = X2 = X3 最后,选择方差最小的前2个特征,即X1和X2作为最终的特征子集。 方差过滤法的演示告诉我们,方差较小的特征对目标变量的影响较小,可能不具备区分不同样本的能力。通过选择方差较大的特征子集,我们可以更好地挖掘特征与目标变量之间的相关性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值