【机器学习】特征降维 - 方差选择法VarianceThreshold

这篇具有很好参考价值的文章主要介绍了【机器学习】特征降维 - 方差选择法VarianceThreshold。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》

提取的特征当中,有一些相关(相似)的「冗余特征」,这种特征是没有必要统计的,我们需要「减少」相关的特征,留下不相关的特征。也就是「特征降维」

特征降维的方式有很多,这里使用其中的一种:方差选择法(低方差过滤)

一、方差科普

先简单科普一下,方差=平方的均值减去均值的平方,公式是:

【机器学习】特征降维 - 方差选择法VarianceThreshold,机器学习,人工智能

比如,1、2、3、4、5这五个数,平均数是3;

「方差」是各个数据分别与其和的平均数之差的平方的和的平均数:[(1-3)^2+(2-3)^2+(3-3)^2+(4-3)^2+(5-3)^2]/5=2,也就是2。

方差小,就意味某个特征大多样本的值比较相近;方差大,就意味着某个特征大多样本的值都有差别。

方差选择法也叫「低方差过滤」,顾名思义,就是设定一个方差的值,所有低于这个方差的特征都会被删掉。


二、方差选择API

sklearn.feature_selection 是特征选择的API

sklearn.feature_selection.VarianceThreshold( threshold=0 )

  • VarianceThreshold.fit_transform( data ):接收字典类型的原始数据,返回方差过滤后的数字特征
  • VarianceThreshold.inverse_transform( data ):将过滤后的数字特征,转回原始数据
  • VarianceThreshold.get_feature_names_out():返回特征名字
  • VarianceThreshold.variances_:返回每个特征对应的方差值

三、获取数据集

这里我们使用鸢尾花数据集来做示例

from sklearn import datasets

# 初始化鸢尾花数据集
iris = datasets.load_iris()

# 打印数据特征
print(iris.data)
# 打印特征数总结
print(iris.data.shape)

输出:

[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 ......
 [5.9 3.  5.1 1.8]]
(150, 4)

从输出结果可以看到,数据集现在有150条数据,每条数据有4个特征。


四、进行方差过滤

接下来我们进行方差过滤,指定方差为0.2

from sklearn import feature_selection
from sklearn import datasets

# 初始化鸢尾花数据集
iris = datasets.load_iris()
# 初始化转换器(指定方差为0.2)
vt = feature_selection.VarianceThreshold(threshold=0.2)

# 使用转换器对数据进行低方差过滤
result = vt.fit_transform(iris.data)

# 打印数据特征
print(result)
print(result.shape)

输出:

[[5.1 1.4 0.2]
 [4.9 1.4 0.2]
 ......
 [5.9 5.1 1.8]]
(150, 3)

从输出结果可以看到,转换后的数据集有150条数据,每条数据有3个特征,方差小于0.2的那个特征被过滤掉了。

接下来,我们把方差改成1

from sklearn import feature_selection
from sklearn import datasets

# 初始化鸢尾花数据集
iris = datasets.load_iris()
# 初始化转换器(指定方差为1)
vt = feature_selection.VarianceThreshold(threshold=1)

# 使用转换器对数据进行低方差过滤
result = vt.fit_transform(iris.data)

# 打印数据特征
print(result)
print(result.shape)

输出:

[[1.4]
 [1.4]
 ......
 [5.1]]
(150, 1)

从输出结果可以看到,数据集的的特征变成了1个,方差小于1的那三个特征被过滤掉了。


五、获取特征的方差值

接下来,我们获取每一个特征的方差值,来验证过滤的准确性。

from sklearn import feature_selection
from sklearn import datasets

# 初始化鸢尾花数据集
iris = datasets.load_iris()
# 初始化转换器(指定方差为1)
vt = feature_selection.VarianceThreshold(threshold=0.2)

# 使用转换器对数据进行低方差过滤
result = vt.fit_transform(iris.data)

# 获取特征的方差值
print(vt.variances_)

输出:

[0.68112222 0.18871289 3.09550267 0.57713289]

从输出结果可以看到,4个特征的方差值,有3个大于0.2,有1个大于1,上述试验的过滤结果符合预期。文章来源地址https://www.toymoban.com/news/detail-540424.html

到了这里,关于【机器学习】特征降维 - 方差选择法VarianceThreshold的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习(10)---特征选择

     1. 从所有的特征中,选择出有意义,对模型有帮助的特征,以避免必须将所有特征都导入模型去训练的情况。  2. 我们来看一组数据:   注 :这个数据量相对夸张,如果使用支持向量机和神经网络,很可能会直接跑不出来。使用KNN跑一次大概需要半个小时。用这个数据举

    2024年02月09日
    浏览(39)
  • 机器学习基础 数据集、特征工程、特征预处理、特征选择 7.27

    无量纲化 1.标准化 2.归一化 信息数据化 1.特征二值化 2. Ont-hot编码 3.缺失数据补全 1.方差选择法 2.相关系数法

    2024年02月14日
    浏览(52)
  • 机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?

    在实际应用中,特征选择作为机器学习和数据挖掘领域的重要环节,对于提高模型性能和减少计算开销具有关键影响。特征选择是从原始特征集中选择最相关和最具区分力的特征子集,以提高模型的泛化能力和可解释性。 特征选择在实践中具有以下重要性: 提高模型性能:

    2024年02月12日
    浏览(38)
  • 人工智能的分类:机器学习/专家系统/推荐系统/知识图谱/强化学习/迁移学习/特征工程/模式识别

    机器学习 机器学习算法工程师:技术路线、方向选择、职业规划、最新技术(从小白到大魔王全攻略)_会害羞的杨卓越的博客-CSDN博客 专家系统 知识图谱 知识图谱:实体-关系-实体/知识建模/知识获取/知识融合/知识存储/知识应用_会害羞的杨卓越的博客-CSDN博客 特征工程

    2024年02月16日
    浏览(54)
  • 【特征选择】CMA-ES(协方差矩阵适应进化策略)

    当将模型拟合到数据集时,可能需要执行特征选择:由于多种原因,仅保留某些特征子集来拟合模型,而丢弃其余特征具有一定的必要性,如下: 保持模型的可解释性(特征太多会使解释变得更加困难) 避免维度过大 最大化/最小化与模型相关的一些目标函数(R 平方、AIC

    2024年04月12日
    浏览(38)
  • python——机器学习:sklearn特征选择feature_selection

        特征选择是机器学习中很重要的一部分,构造并选取合适的特征,能极大的提高模型的表现。sklearn中feature_selection模块提供了一些特征选择方法。可以通过dir()的方法整体看一下。 0. 读取测试数据  1. 方差阈值法 VarianceThreshold         该方法筛选掉方差低于某个值的变量

    2024年02月19日
    浏览(49)
  • 【机器学习】包裹式特征选择之拉斯维加斯包装器(LVW)算法

    🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 引言: 在机器学习的世界中,特征选择是一项至关重要的任务。它能够帮助我们筛选出与目标变量

    2024年03月14日
    浏览(50)
  • 基于协方差矩阵自适应演化策略(CMA-ES)的高效特征选择

    特征选择是指从原始特征集中选择一部分特征,以提高模型性能、减少计算开销或改善模型的解释性。特征选择的目标是找到对目标变量预测最具信息量的特征,同时减少不必要的特征。这有助于防止过拟合、提高模型的泛化能力,并且可以减少训练和推理的计算成本。 如果

    2024年01月19日
    浏览(40)
  • 机器学习 | 降维问题

    目录 一、主成分分析 二、奇异值分解 2.1 奇异值分解原理 2.2 奇异值分解实践 三、特征值与特征向量 主成分有如下特征: 每个主成分是原变量的线性组合; 各个主成分之间互不相关; 主成分按照方差贡献率从大到小依次排列; 所有主成分的方差贡献率求和为1; 提取后的

    2024年02月08日
    浏览(80)
  • 【机器学习笔记】13 降维

    维数灾难(Curse of Dimensionality):通常是指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。在很多机器学习问题中,训练集中的每条数据经常伴随着上千、甚至上万个特征。要处理这所有的特征的话,不仅会让训练非常缓慢,还会极大增加搜寻

    2024年02月20日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包