机器学习——特征工程(3分钟的超详细介绍)

article/2025/8/15 21:07:28

目录

    • 1 什么是特征工程?
    • 2 数据预处理和特征处理
        • 2.1 数据预处理
        • 2.2 特征处理
    • 3 特征降维
        • 3.0 什么是特征降维?
        • 3.1 特征选择
        • 3.2 线性降维
          • 3.2.1 主成分分析法(PCA)
          • 3.2.2 线性判别分析法(LDA)

1 什么是特征工程?

答:从原数据提取特征(能很好的描述数据)的过程,并且利用特征建立的模型可在未知数据上的性能表现达到最优。
业界流传着这样一句话:“数据和特征决定机器学习的上线,而模型和算法只是逼近这个上限而已。” 换句话说,特征越好、灵活性越强,构建的模型越简单、性能越出色。
在这里插入图片描述
简单来说,特征工程的处理一般包括:
· 特征提取
· 特征获取
· 特征处理
· 特征选择(特征较多时才用)
· 特征监控

2 数据预处理和特征处理

2.1 数据预处理

  1. 数据采集
    采集数据前,不如先清楚哪些数据对最后的预测结果使用帮助的,是否可采集到,
    在线上实时计算时数据获取是否快捷
  2. 数据清洗
    除去“脏”的数据,例如,某些商品的刷单数据
  3. 数据采样
    数据在采集、清洗过后、正负样本是不均匀的,故需进行数据采样
    方法有:随机采样,分层采样

2.2 特征处理

  1. 标准化:

将特征转换为标准正态分布

  1. 归一化:

将特征转换到同一纲量下,把数据映射到 [0,1], 或者 [a,b] 区间内
注:会改变原始距离、分布、和信息

  1. 定量特征二值化:

设定一个阈值,大于阈值的赋值为1,小于等于阈值的赋值为0

  1. 缺失值处理:

当数据存在缺失值时,用Pandas读取后特征均为NaN,表示数据缺失
可进行填充,均值替换等

  1. 数据转换:

常见的有:多项式、指数函数、对数函数的转换

3 特征降维

3.0 什么是特征降维?

特征降维指的是:采用某种映射方法,将高维向量空间的数据点映射到低维的空间中。
而在原始的高维空间中,数据存在冗余信息及噪音信息,会对模型识别造成误差,降低准准确率。
常用的方法有:特征选择,线性降维。

3.1 特征选择

方法:
* 过滤法:按照相关性或者发散性对各个特征进行评分,通过设定阈值或者选择阈值的个数来选择特征
* 包装法:根据目标函数每次选择若干个特征
* 嵌入法:使用算法和模型训练得到各个特征的权值系数,从而选择特征

3.2 线性降维

3.2.1 主成分分析法(PCA)

通过某种线性投影,将高维的数据映射到低维的空间中,并期望方差最大,从而达到使用
较小的数据维度保留较多的原始数据点特征的效果。(无监督的线性降维算法)

3.2.2 线性判别分析法(LDA)

使降维后的数据点尽可能地容易被区分(有监督的线性降维算法)

···
注:以上是关于特征工程的部分理论知识的介绍(本人逐字敲的,有什么想说滴评论区尽管提或私聊),具体的代码讲解稍后更新,热别欢迎友友们一起交流学习。


http://chatgpt.dhexx.cn/article/QmyQZmJ2.shtml

相关文章

机器学习之特征工程详解

特征工程是指使用专业的背景知识和技巧处理数据,使得特征能在机器学习算法上发生更好的作用的过程。更好的特征意味着更强的灵活性,只需简单模型就能得到更好的结果,因此,特征工程在机器学习中占有相当重要的地位,可以…

【特征工程】呕心之作——深度了解特征工程

【博客地址】:https://blog.csdn.net/sunyaowu315 【博客大纲地址】:https://blog.csdn.net/sunyaowu315/article/details/82905347 对数据分析、机器学习、数据科学、金融风控等感兴趣的小伙伴,需要数据集、代码、行业报告等各类学习资料&am…

python右键idel消失问题

由于先安装的是的python2.7,后来改用python3.4出现了idel不见的问题: cmd:regedit SystemFileAssociations 新建项: ‘.py’右侧键值不管,‘shell’,edit的键值均为‘Edit with IDLE’即可 将’command‘的键值设置…

分析及解决:虚拟机无法连接虚拟设备idel 0:1 问题

虚拟机无法连接虚拟设备 问题背景解决过程一次性永久解决方式 问题背景 在学习大数据集群开发的时候,按照要求需要配置多个使用Ubuntu操作系统的虚拟机组合集群:master,slave1,slave2。但在我按照要求配置好三个虚拟机后&#xf…

python的使用方法图解_python开发之IDEL(Python GUI)的使用方法图文详解

本文讲述了python开发之IDEL(Python GUI)的使用方法。分享给大家供大家参考,具体如下: 在安装完Python后,我们希望能够运用python GUI来运行一些我们编写的程序,那么Python GUI怎样用呢? 看完这篇blog,也…

python、idel、pycharm的安装使用

python的安装 Python 3的安装 idle的使用 Python安装的过程中默认自动安装了idle,idl是python自带的集成开发环境。 交互环境 如何启动idle 第一种,开始菜单所有应用点击idle 第二种,在搜索栏当中直接输入idle 集成开发环境PyCham…

在anaconda设置Python的IDEL编辑器

在电脑中安装了anaconda(如果没有,可参考博客),anaconda会自动安装Python,可是想要用Python的IDEL编辑器还不知道怎么弄。百度了下终于查找到了具体的设置方法。主要分为两步。 1、修改注册表中信息,将.py…

idel部署的问题

war和war exploded的区别 转载地址:https://blog.csdn.net/xlgen157387/article/details/56498938 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别:…

python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐

在了解python中的tkinter模块的时候,你需要了解一些tkinter的相关知识 下面是python的API文档中的一个简单例子: 1 import tkinter as tk2 3 class Application(tk.Frame):4 def __init__(self, masterNone):5 tk.Frame.__init__(self, mast…

解决idel连接mysql数据库报错问题

使用idel来连接mysql数据库时出现: Server returns invalid timezone. Need to set ‘serverTimezone’ property报错信息。 查询相关资料后发现,我们本地使用的idel连接mysql时,使用的时区有问题而导致的报错。 解决方式: 修…

VUE与IDEL解决跨域问题

前言 跨域是浏览器对ajax请求的限制 跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对js施加的安全限制。(ajax可以) 同源策略:是指协议,域名,端囗都要相同…

Python在IDLE中实现清屏和更改IDEL的shell的背景颜色

文章目录 更改IDEL的shell背景颜色在IDEL中实现清屏 今天才开始打算自学Python,刚装好的Python,使用IDEL的时候,发现白色的背景是在很闪眼睛,属实顶不住,然后就去问度娘,找到了以下的更改IDEL中的背景颜色&…

python的idel下添加清屏功能

第一步:下载文件ClearWindow.py (该文件可以在文章末尾网盘下载)第二步:找到目录 E:\python\Lib\idlelib (这个目录为python安装路径,比如我的安装路径为e:\python)第三步:将下载好的…

python 中设置IDEL快捷键清屏

1.通过下面这个链接下载到自己电脑的本地https://bugs.python.org/file14303/ClearWindow.py 将这个文本的后缀改为ClearWindow.py拷贝ClearWindow.py文件,放在Python安装目录Python XXX\Lib\idlelib下面(XXX为你的python版本)。记事本打开Py…

idel打开Run Dashboard

前言 在我用RabbitMQ整合SpringCloud的时候,要看运行效果时。发现没有了Run Dashboard。 这时候才想起之前弹过提示,也由于奈何是个英语傻瓜,就没注意,看着提示打眼就关了。害 如下提示弹框 打开直接选择第一个显示Run Dashboar…

idel安装lombok插件安装

1、点击file,选择setting 2、搜索安装插件 3、安装插件后使用lombok&#xff0c;引入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>4、在实体类上加上Data注解&#xff0c;会自动…

STM32G707HAL库配置串口DMA和IDEL空闲中断接收不定字长数据

STM32G070串口DMA&IDEL配置 0、概述 在配置STM32G070RBT6进行串口通信功能时&#xff0c;如果尝试开启空闲中断进行不定长数据接收时&#xff0c;串口一旦接收到数据&#xff0c;就会一直卡在串口中断&#xff0c;无法进行其他操作。配置空闲中断的方法是按照F系列的HAL库…

Idel中maven全局配置

每次创建新项目&#xff0c;都要配置一遍maven&#xff0c;实在是麻烦。 所以&#xff0c;想到是否可以全局配置呢。 在File - Settings里没有找到相关内容。 方法&#xff1a; 关闭项目&#xff0c;在Idea的启动界面&#xff0c;右下角有个 【Configure】&#xff0c;进入【…

layers.Normalization

标准化&#xff0c;就是执行 特征标准化层&#xff0c; 第一种方式&#xff1a;通过数据计算出均值和方差&#xff1a; adapt_data np.array([[0., 7., 4.],[2., 9., 6.],[0., 7., 4.],[2., 9., 6.]], dtypefloat32) input_data np.array([[0., 7., 4.]], dtypefloat32) l…

Batch Normalization、Instance normalization简单理解

1. Batch Normalization 首先&#xff0c;简短介绍一下Batch Normalization&#xff0c;通常Batch Normalization更为大家所知&#xff0c;所以在此简要介绍BN来引入Instance Normalization。 引入BN层主要是为了解决"Internal Covariate Shift"问题&#xff0c;关…