特征工程筛选重要变量

news2024/9/28 23:28:34

特征筛选主要分为3个方法:过滤法、嵌入法(经典的一些树模型比如xgboost)、包裹法(经典的RFECV,RFE递归特征消除法)

过滤法更快速,但更粗糙。
包装法和嵌入法更精确,比较适合具体到算法去调整,但计算量比较大,运行时间长。
当数据量很大的时候,优先使用方差过滤和互信息法调整,再上其他特征选择方法。

在sklearn中,常用三种方法来评判特征与标签之间的相关性:卡方、F检验、互信息。三种方法的适用领域有何不同
t检验和卡方检验、F检验、互信息法是常用的统计分析方法,它们在不同的情况下有不同的应用优先级。

t检验:适用于小样本情况下,用于比较两个样本均值是否有显著差异。

我不懂你们同学为啥会选择t检验(比较特征与target的均值没用呀),然后开头也没有方差过滤?

卡方检验:适用于分析两个及两个以上分类变量之间的关联性。主要用于比较理论频数和实际频数的吻合程度或拟合优度问题。

F检验:适用于比较两个或多个样本方差是否有显著差异。常用于方差分析(ANOVA)中,用于比较多个样本均值是否有显著差异。

互信息法:适用于特征选择和特征相关性分析。通过计算特征与目标变量之间的互信息量,来评估特征对目标变量的重要性。

在选择使用这四种方法时,可以根据具体问题和数据类型来确定优先级:

如果需要比较两个样本均值是否有显著差异,且样本量较小,可以首选t检验。
如果需要分析两个及两个以上分类变量之间的关联性,可以选择卡方检验。
如果需要比较多个样本方差是否有显著差异,可以使用F检验。
如果需要进行特征选择或特征相关性分析,可以考虑使用互信息法。

我的思路,我们应该用fliter中的方差过滤加互信息方法,然后嵌入法中选用xgboost方法

如果老师问为何没有用包裹法,答:我们电脑性能不太好,RFECV需要算力。还有时间不充裕。还有虽然包装法的效果是所有特征选择方法中最利于提升模型表现的,它可以使用很少的特征达到很优秀的效果?(包装法是一种特征选择方法,它通过反复创建模型并保留最佳特征或剔除最差特征的方式来选择特征子集。包装法的效果被认为是所有特征选择方法中最利于提升模型表现的,原因如下

考虑特征之间的相互作用:包装法在每次迭代时都会重新创建模型,这意味着它可以考虑特征之间的相互作用。通过不断调整特征子集,包装法可以更好地捕捉特征之间的关系,从而提高模型的表现。

个性化特征选择:包装法根据保留或剔除特征的顺序进行排名,最终选出一个最佳子集。这意味着包装法可以根据具体问题的需求选择最适合的特征子集,从而提高模型的性能。

可以使用很少的特征:由于包装法是一种贪婪的优化算法,它会在每次迭代中选择最佳特征或剔除最差特征。这意味着包装法可以使用很少的特征来达到很优秀的效果,从而减少了特征的维度,提高了模型的效率。

总之,包装法通过考虑特征之间的相互作用、个性化特征选择和使用很少的特征来达到很优秀的效果,因此被认为是所有特征选择方法中最利于提升模型表现的方法。)但是包装法和嵌入法在特征选择中都是相对精确的方法,它们可以在特征数目相同时达到相似的效果。这是因为它们都是基于算法自身的选择来完成特征选择的,我们已经使用了xgboost算法模型了,没必要再使用一个算法。

包装法通过训练评估器并使用评估器的属性(如coef_或feature_importances_)来获得每个特征的重要性。然后,它会逐步删除最不重要的特征,直到剩下规定数量的特征。这种方法可以更准确地选择特征,因为它考虑了特征之间的相互作用。

嵌入法也是一种基于算法的特征选择方法,它在算法训练过程中直接选择最佳特征。它通过在训练过程中调整特征的权重或系数来选择最佳特征。这种方法可以更准确地选择特征,因为它考虑了特征与目标变量之间的关系。

因此,当特征数目相同时,包装法和嵌入法都可以通过算法自身的选择来达到相似的效果。它们都可以更准确地选择特征,以提高模型的性能和泛化能力。在这里插入图片描述
当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大,训练时间长的问题,要进行降低特征矩阵维度。(但是我们此项任务没必要降维,特征数量很小)

常见的降维方法除了以上提到的基于L1惩罚项的模型以外,另外还有主成分分析法(PCA)和线性判别分析(LDA),线性判别分析本身也是一个分类模型。

PCA和LDA有很多的相似点,其本质是要将原始的样本映射到维度更低的样本空间中,但是PCA和LDA的映射目标不一样:PCA是为了让映射后的样本具有最大的发散性;而LDA是为了让映射后的样本有最好的分类性能。所以说PCA是一种无监督的降维方法,而LDA是一种有监督的降维方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1363658.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

P1262 间谍网络

1、思路 阅读题目,发现有些间谍可以是被前面的点更新,也就是说,在一开始的时候,把能贿赂的人员从小到达排个序,再使用bfs算法,把他们能到达的人员的贿赂价钱设置为0。 有解的情况: 首先如果有…

JavaScript:Date 对象-时间日期

Date 对象-时间日期: - JS中所有的关于时间信息都需要通过Date对象来表示 // 创建一个Date对象 // 如果直接使用new Date()创建时间对象,它会默认创建一个表示代码执行时刻的对象var d new Date();// 如果希望创建一个指定的时间的Date的对象,需要传递…

python总结-装饰器

装饰器 装饰器解决日志问题(分三个版本)多个装饰器带参数的装饰器wraps装饰器内置装饰器property装饰器staticmethod装饰器classmethod装饰器 类装饰器缓存装饰器和计时装饰器综合练习 概念 装饰器来自 Decorator 的直译。什么叫装饰,就是装点…

【tkinter 电子时钟 实现时间日期 可实现透明 无标题栏】

下面是一个使用tkinter实现的简单的电子时钟,包括时间和日期的显示。该窗口是透明的,没有标题栏。 效果: import tkinter as tk from datetime import datetimedef update_time():now datetime.now()time_label.configure(textnow.strftim…

【一】使用vue-cli创建vue3的helloworld项目

不再推荐使用vue-cli命令创建vue3的项目,vue-cli 是 Vue 早期推出的一款脚手架,使用 webpack 创建 Vue 项目。后期推荐使用 create-vue,create-vue 是 Vue3 的专用脚手架,使用 vite 创建 Vue3 的项目(关注【二】使用create-vue创建…

操作系统期末复习笔记(持续更新..)

一、操作系统的基本概念 1.1 操作系统概念 控制和管理整个计算机系统的硬件与软件资源。合理地组织、调度计算机的工作与资源。为用户和其他软件提供方便接口与环境的程序集合。 1.2 操作系统的特征 特征:并发,共享,虚拟,异步…

每日算法打卡:数的三次方根 day 7

文章目录 原题链接题目描述输入格式输出格式数据范围输入样例:输出样例: 题目分析示例代码 原题链接 790. 数的三次方根 题目难度:简单 题目描述 给定一个浮点数 n,求它的三次方根。 输入格式 共一行,包含一个浮…

如何将手机中termux用电脑的vnc显示

在电脑中我们同样需要下载 vnc 这里填写手机上的 IP:端口号 我的是 10.11.166.219:5902 下面填名字然后 手机端 输入sshd开始ssh这边就可以连接啦

【ARM 处理器】程序存储详解

本篇文章主要介绍ARM处理器,Code, RO-data,RW-data,ZI-data 知识以及程序存储情况 目录 1. 专业词汇2. 程序存储3. 程序空间计算 1. 专业词汇 Code : 代码区,存储在 ROM 区域RO-data:Read Only data,即只读数据域&…

2024年虚拟DOM技术将何去何从?

从诞生之初谈起,从命令式到声明式,Web开发的演变之路 Web开发的起源与jQuery的统治 在Web开发的早期阶段,操作DOM元素主要依赖命令式编程。当时,jQuery因其易用性而广受欢迎。使用jQuery,开发者通过具体的命令操作DOM&…

qt自定义控件的封装

刚学了一个很有意思的东西,前面学了list,Tree,Table三大控件和一部分常用基础控件,但感觉没啥意思,就是用别人的直接用,刚学了一个自定义控件的封装,流程如下: 想把两个不相关的组件封装在一块,直接用ui不行,所以先新添加了qt设计师页面,新添加了一个SmallWidget *ui 在smal…

FCN-8s源码理解

FCN网络用于对图像进行分割,由于是全卷积网络,所以对输入图像的分辨率没有要求。本文重点对fcn8s.py中图像降采样和上采样后图像分辨率的变换进行理解。 相关知识 为准确理解图像分辨率的变换,对网络结构中影响图像分辨率变换的几个函数进行…

Linux基础命令@echo、tail、重定向符

目录 echo概念语法作用演示一演示二 反引号作用 tail概念语法作用不带选项,演示一带选项 -num,演示二带选项 -f , 持续跟踪 重定向符概念作用覆盖重定向,>演示一演示二 追加重定向,>>演示一演示二 总结 echo …

腾讯云取消免费10G CDN流量包:免费CDN时代结束

关注卢松松,会经常给你分享一些我的经验和观点。 免费送了7-8年的腾讯云10G免费流量包,从2024年开始,停止赠送了!自此,国内绝大多数互联网大厂的CDN都开收费了! 大概从2016年开始,腾讯云为了抢夺CDN客户&#xff0…

CentOS使用docker安装mysql并使用navicat 远程链接

这篇文章没用开启mysql的挂载功能,如果想开启的话可以和我的下篇文章结合着看。 CentOS中开启mysql挂载-CSDN博客 docker在之前的文章中已经安装完成了 这里输入命令查询已被上传的MySQL镜像 docker search mysql这里stars代表点赞数,official代表官…

瓢虫目标检测数据集VOC格式400张

瓢虫,一种小巧玲珑、色彩鲜艳的昆虫,因其独特的形态和生态习性而受到广泛欢迎。 瓢虫的体型小巧,一般为圆球形,体色鲜艳,有红、黄、黑等多种颜色。它们通常有一个坚硬的外壳,可以保护自己不受天敌的侵害。…

一文讲透使用SPSS统计分析软件绘制双轴线图

双轴线图主要用来展示两个因变量和一个自变量的关系,并且两个因变量的数值单位不同时的情形。具体来说,双轴线图是指在一幅图上有一个横轴和两个纵轴,适用于三个变量。两个纵轴分别表示一个变量,横轴变量同时适用于两个纵轴上的变…

案例098:基于微信小程序的电子购物系统的设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

【LeetCode每日一题】383. 赎金信(计数模拟)

2024-1-7 文章目录 [383. 赎金信](https://leetcode.cn/problems/ransom-note/)思路:计数模拟 383. 赎金信 思路:计数模拟 1.通过数组对字母进行计数 2.magazine 中的每个字符只能在 ransomNote 中使用一次。 3.判断减一后,是否小于等于0。…

VS2019出现按F12或Ctrl+鼠标左键跳转到函数位置不准的解决

程序有时会出现大部分函数都不能准确的从头文件中正确定位到函数定位,这是因为数据库错乱造成的,可以通过重构数据库来解决,操作方法如下: 1、菜单栏:工具——选项 2、在打开选项对话框左边的树形框中选择C——高级: 3、然后在右边的浏览/导…