特征工程筛选重要变量

特征筛选主要分为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.mfbz.cn/a/298963.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动驾驶:低阶可部署的单目测距算法-基于YOLO与透视变换

一、开发环境 部署平台:英伟达的Jetson Nano 环境:Linux ROS 语言:C 设备:1920*1080像素的摄像头、开发板。 模型:yolo-v8s 二、单目测距实现思路 0、标定相机和车辆(假设已经标定完成) 1、通…

Linux习题6

解析:排序必须得是rwx,所以B不对 解析: /etc/resolv.conf:是DNS配置文件。在网卡配置文件中进行配置,默认情况下,网卡配置文件DNS优于/etc/resolv.conf。 /etc/hostname:在centos7,配置主机名…

【ZooKeeper高手实战】ZAB协议:ZooKeeper分布式一致性的基石

🌈🌈🌈🌈🌈🌈🌈🌈 欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理…

小白入门基础 - Restful

一:REST与RESTful: REST:表现层状态转移,资源在网络中以某种形式进行状态转移。 RESTful是基于REST理念的一套开发风格,是具体的开发规则。 服务器端只返回数据,以json或者xml的格式。 RESTful开发规范&a…

DockerUI本地如何部署并结合内网穿透实现远程访问管理界面

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

项目管理进阶之PDCA

前言 项目管理进阶系列,今天开始发布第一篇喽。 博主其实一直在构思,如何开启这个系列,但是我们通常项目管理讲的“五大过程十大领域”,往往太书面了。因此尝试从中抓取几个核心,以供有志之士参考。 那么&#xff0c…

C++——简介、Hello World、变量常量、数据类型

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

试除法求约数算法总结

知识概览 试除法求一个数的约数的时间复杂度是。 例题展示 题目链接 活动 - AcWing 系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。https://www.acwing.com/problem/content/871/ 题解 用试除法求约数,…

Golang拼接字符串性能对比

g o l a n g golang golang的 s t r i n g string string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去。主要有以下几种拼接方式 拼接方式介绍 1.使用 s t r i n g string string自带的运算符 ans ans s2. 使用…

火山软件开发平台调用奥迦插件源码模块实现找色找字类似大漠插件

主要是存档自用 奥迦插件在Windows 10操作系统上使用Visual Studio 2019编写,适用于所有较新的Windows平台,是一款集网络验证,深度学习,内核,视觉,文字,图色,后台,键鼠,窗口,内存,汇编,进程,文件,网络,系统,算法及其它功能于一身的综合插件,类似于大漠插件 插件使用C语言和COM技…

使用邮箱发送验证码前端完成登录

前言 在前一篇使用C#发送邮箱验证码已经完成使用.net core web api写了完成往登录邮箱发送验证码的接口。现在就用前端调用接口模拟登录功能。 接口 public class ApiResp{public bool Success { get; set; }public int Code { get; set; }public int count { get; set; }pu…

20240105-工作安排的最大收益

题目要求 我们有 n 份工作,每份工作都安排在 startTime[i] 至 endTime[i] 期间完成,从而获得 profit[i] 的利润。 给你 startTime、endTime 和 profit 数组,返回你能获得的最大利润,使得子集中没有两个时间范围重叠的工作。 如…

SSH 无密登录配置

1)配置 ssh (1)基本语法 ssh 另一台电脑的 IP 地址 (2)ssh 连接时出现 Host key verification failed 的解决方法 [yuxuan@yuxuan102 ~]$ ssh yuxuan103 ➢ 如果出现如下内容 Are you sure you want to continue connecting (yes/no)? ➢ 输入 yes,并回车 (3)退回到 …

MYSQL 存储过程/存储函数

简而言之,类似于封装函数 特点 基本语法 create peocedure p1() begin select coun(*) from studuent; end; call p1(); 设置完别忘了把delimiter改回来 变量 系统变量 用户自定义变量 set myname its; set myage : 10; 局部变量 if 参数(IN&…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)线程池的启动和从线程池中取出一个反应堆实例

一、线程池的启动 (主线程) // 启动线程池 (主线程) void threadPoolRun(struct ThreadPool* pool) {/*线程池被创建出来之后,接下来就需要让线程池运行起来,其实就是让线程池里的若干个子线程运行起来*//…

JVM虚拟机的垃圾回收器(面试题)

1.什么是垃圾回收 垃圾回收主要说的是java会自动把程序在运行过程中产生的一些没有用的对象给回收掉,这样可以避免内存的浪费。 java主要是通过一个叫“根可达”的算法来识别这个对象是否可以被回收的,然后回收的算法也主要有三种:标记清除&a…

Python 教程 02:Python 编程环境的搭建与 IDE 的选择

目录 一、搭建 Python 环境 1.1 Python 官网 1.2 下载 Python 1.2.1 选择版本 1.2.2 选择平台 1.2.3 下载安装文件(Windows & macOS) 1.3 安装环境 1.3.1 Windows 平台 1.3.2 macOS 平台 1.3.3 Linux 平台 1.4 验证安装是否成功 二、选择…

Flink自定义Source模拟数据流

maven依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.…

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

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

12月笔记

#pragma once 防止多次引用头文件&#xff0c;保证同一个&#xff08;物理意义上&#xff09;文件被多次包含&#xff0c;内容相同的两个文件同样会被包含。 头文件.h与无.h的文件&#xff1a; iostream是C的头文件&#xff0c;iostream.h是C的头文件&#xff0c;即标准的C头文…
最新文章