【数据分析】— 特征工程、特征设计、特征选择、特征评价、特征学习

news2024/12/24 2:07:46

【数据分析】— 特征工程

  • 特征工程是什么? (Feature Engineering)
    • 特征工程的意义
    • 特征工程的流程
  • 特征的设计
    • 从原始数据中如何设计特征?
      • 基本特征的提取
      • 创建新的特征
      • 函数变换特征
      • 独热特征表示 One-hot Representation
      • 数据的统计特征
      • TF-IDF(词频-逆文档率)
      • 如何找到关键特征(词)?
      • 计算 TF-IDF
      • TF-IDF(词频-逆文档率)—应用
      • 特征组合:构造高阶特征
      • 举例:第二届“中国高校计算机大赛-大数据挑战赛”
        • 基本特征的提取
        • 创建新的特征
    • 如何挑选有效的特征(Subset Selection问题)
      • 如何生成特征子集
        • 举例:
      • 如何评价特征子集?
        • 1. **过滤式(Filter)评价策略方法**
        • 2. 封装式(Wrapper)评价策略方法
        • 3. 嵌入式(Embedded)评价策略方法
          • 1). 带惩罚项的特征选择方法
          • 2). 基于树模型的特征选择方法
            • 举例:
  • 传统特征工程的缺点
    • 特征学习
      • 自编码结构(Auto-Encoder)
      • 卷积神经网络(CNN): 常用于图像特征提取
      • 卷积神经网络(CNN): 常用于图像特征提取
      • 循环神经网络(RNN): 常用于序列数据的特征提取
    • 利用标准数据集进行特征学习(特征预训练)

特征工程是什么? (Feature Engineering)

  • 在数据预处理以后(或者数据预处理过程中),如何从数据中提取有效的特征,使这些特征能够尽可能的表达原始数据中的信息,使得后续建立的数据模型能达到更好的效果,就是特征工程所要做的工作。
  • 在这里插入图片描述在这里插入图片描述

特征工程的意义

  • 著名数据科学家Andrew Ng 对特征工程这样描述的:“虽然提取数据特征是非常困难、耗时并且需要相关领域的专家知识,但是机器学习应用的基础就是特征工程”
  • 特征越好,灵活性越强
    好的特征能使一般的模型也能获得很好的性能,在不复杂的模型上运行速度很快,并且容易理解和维护。
  • 特征越好,构建的模型越简单
    好的特征不需要花太多的时间去寻找最优参数,降低了模型的复杂度,使模型趋于简单。
  • 特征越好,模型的性能越出色
    好的特征能够使模型表现越出色是毫无疑问的,而特征工程的最终目的就是提升模型的性能。

特征工程的流程

在这里插入图片描述

特征的设计

从原始数据中如何设计特征?

基本特征的提取

基本特征的提取过程就是对原始数据进行预处理,将其转化成可以使用的数值特征。常见的方法有:数据的归一化、离散化、缺失值补全和数据变换等。

创建新的特征

根据对应的领域知识,在基本特征的基础上进行特征之间的比值交叉变化来构建新的特征。

函数变换特征

  • 左图是根据两个Sin函数(分别是每秒7个和17个周期),以及一些噪声数据得到的序列图;
  • 右图是由傅立叶变换得到了频率图,可以看出变换后成功得到了两个概率最大的频率7和17(其中纵坐标是振幅,即概率值)
    在这里插入图片描述

独热特征表示 One-hot Representation

  • 将每个属性表示成一个很长的向量(每维代表一个属性值,如词语)
    • 函数:[0, 0, 1, 0, 0, …, 0, 0, 0, 0]
    • 图像:[0, 0, 0, 0, 0, …, 0, 0, 0, 1]
  • 优点:直观,简洁
  • 缺陷:
    • “维度灾难” 问题:尤其是我们所构建的语料库包含的词语数据非常多的时候,独热表征在空间和时间上的开销都是十分巨大的
    • “语义鸿沟” 现象:任意两个词之间都是完全孤立的,是无法刻画句子中词语的语序信息的(之前提到的词袋模型也是如此)。例如,我们是无法通过独热表征来判断“函数”与“偶函数”之间的联系的(但实际上这两个词语是非常相关的)。

数据的统计特征

  • 如:文档中的词频统计在这里插入图片描述
  • 字典在这里插入图片描述
  • 文档词频特征在这里插入图片描述

TF-IDF(词频-逆文档率)

  • 算法简单高效,工业界用于最开始的数据预处理
  • 主要思想:找到能代表该文档中的**“关键词”**
  • 词频 (TF, Term Frequency)
    • TF = 某个词(特征值)在句子(数据)中出现的频率
  • 逆文档率 (IDF, Inverse Document Frequency)
    • IDF = log(语料库(数据库)的句子(数据)总数 / 包含该词(特征值)的句子(数据)总数)
  • 每个特征值(词)的重要性
    • w i j = t f ∗ i d f = T F i j ∗ l o g ( N / D F i ) w_{ij}= tf*idf = TF_{ij}*log(N/DF_i) wij=tfidf=TFijlog(N/DFi)

如何找到关键特征(词)?

  1. 根据 TF 可以找到一个句子中的高频词(特征值)(删去无意义的词,如停用词“的”、“是”、“了”等)
  2. 根据 IDF 继续对句子中剩下的词进行权重赋值并排序,在数据库中越常见的词(特征值)权重越小
  3. 根据 TF-IDF 我们可以得到一个句子(数据)中所有词(特征值)的TF-IDF 值,进而排序筛选得到每个句子最有代表性的特征(“关键词”)

计算 TF-IDF

在这里插入图片描述
在这里插入图片描述

  • 优点
    • 简单快速的词(特征)重要性表示方法,结果比较符合实际情况
    • 应用广泛:不仅限于文本数据
  • 缺点
    • 单纯以“词频”衡量一个词的重要性,不够全面,有时重要的词可能出现次数并不多
    • 无法体现词的位置信息、顺序信息,出现位置靠前的词与出现位置靠后的词,都被视为重要性相同
    • 无法发现词(特征)的隐含联系,如同义词等

TF-IDF(词频-逆文档率)—应用

  • 搜索引擎;关键词提取;文本相似性;文本摘要
  • 推荐系统
    • 可以计算“用户-标签-商品”的特征
    • 用户-标签的TF-IDF在这里插入图片描述
    • 用户:i。标签:l。用户总数:M。在这里插入图片描述

特征组合:构造高阶特征

上述所有构造的特征均可以:两两、三三、… 进行组合

举例:第二届“中国高校计算机大赛-大数据挑战赛”

简单的说,该赛题的求解目标是利用数据分析将人工的鼠标轨迹和代码生成的鼠标轨迹区分开来。这里的鼠标轨迹是指一种完成一种验证手段——拖动滑块到指定区域时鼠标的轨迹。在这里插入图片描述
原始数据格式:一系列连续点的坐标及其对应时间,目标点的坐标
例如:(2,3,4),(2,5,6)(4,3,7) (4,3),该轨迹中含有三个点的坐标,以(x,y, time)的时间表示,终点坐标为(4,3)

基本特征的提取

  • 轨迹运动数据的统计值:运动速度/加速度/角加速度/角速度的均值/极值/最值/中位数 等
  • 轨迹的描述:运动在x轴方向是否为单向,曲线平滑程度, 等

创建新的特征

  • 基本特征的简单二元运算, 加/减/乘/除/平方和/和平方/倒数和
  • 运动数据在某一维上的偏导
  • 领域专家知识

如何挑选有效的特征(Subset Selection问题)

  • 在实际应用中,特征的数量往往比较多,其中可能会存在不相关的特征。
  • 特征数量越多,分析特征、训练模型所需要的时间就越长,同时容易引起“维度灾难”,使得模型更加复杂。
  • 特征选择通过剔除不相关的特征或冗余的特征来减少特征数量,从而简化了模型并且提升了模型的泛化能力。

如何生成特征子集

在这里插入图片描述

举例:

在这里插入图片描述

如何评价特征子集?

不同的特征选择算法不仅对特征子集评价标准不同,有的还需要结合后续的学
习算法模型。因此根据特征选择中子集评价标准和后续算法的结合方式主要分为过滤式(Filter)、封装式(Wrapper) 和嵌入式(Embedded) 三种

1. 过滤式(Filter)评价策略方法

  • 独立于后续的学习算法模型来分析数据集的固有的属性
  • 采用一些基于信息统计的启发式准则来评价特征子集
  • 启发式的评价函数: 距离度量、信息度量、依赖性度量、一致性度量在这里插入图片描述

2. 封装式(Wrapper)评价策略方法

  • 将特征选择作为学习算法一个组成部分,需要结合后续的学习算法,并直接将学习算法的分类性能作为特征重要性的评价标准
  • 直接使用分类器的性能作为评价的标准,选出来的特征子集对分类一定有最好的性能
  • 相对于Filter 选择方法,Wrapper 方法所选择的特征子集的规模要小得多,有利于关键特征的辨识,模型的分类性能更好。但Wrapper 方法泛化能力较差,当改变学习算法时,需要针对该学习算法重新进行特征选择,算法的计算复杂度高.在这里插入图片描述

3. 嵌入式(Embedded)评价策略方法

基于Embedded 嵌入式特征选择方法结合了学习算法和特征选择机制去评价学习过程中被考虑的特征。特征选择算法嵌入到学习和分类算法中,也就是特征选择是算法模型中的一部分,算法模型训练和特征选择同时进行,互相结合(即,算法具有自动进行特征选择的功能)。常见的方法有:

1). 带惩罚项的特征选择方法

其基本思想就是在模型损失函数上加上一个惩罚项,模型训练时通过惩罚项来对特征的系数进行惩罚处理,而在特征选择方法中常使用的是L1 正则化(regularization)项。在这里插入图片描述
正则化是把额外的约束或者惩罚项加到已有模型(损失函数),以防止过拟合并提高泛化能力
损失函数由原来的 E ( X , Y ) E(X,Y) E(X,Y)变为 E ( X , Y ) + l a m b d a ∣ ∣ w ∣ ∣ 1 E(X,Y)+lambda||w||_1 E(X,Y)+lambda∣∣w1
w w w是模型系数组成的向量(有些地方也叫参数parameter,coefficients), ∣ ∣ ⋅ ∣ ∣ ||·|| ∣∣∣∣一般是L1或者L2范数, l a m b d a lambda lambda是一个可调的参数,控制着正则化的强度。当用在线性模型上时,L1正则化和L2正则化也称为Lasso和Ridge
在这里插入图片描述

2). 基于树模型的特征选择方法

这些算法在树增长过程的每一步都必须选择一个特征,将样本集划分为纯度更高的子集,而每次选择出的都是使划分效果最佳的特征,所以决策树的生成过程就是特征选择的过程。当决策树完全生成后,每个结点分裂所使用的特征组成的集合就是最后筛选出的特征子集。比如在比赛中经常使用的迭代决策树(GBDT)、随机森林(RF) 等算法。

举例:
  • 前面初步筛选得到的200维特征,将其输入xgboost(一种高效的梯度提升机(GBM,Gradient boosting machine)算法)
  • 训练得到特征重要性,也就是分裂树节点时起到的作用权重,自行划分阈值选取特征子集
  • 为了保证不遗漏重要特征,这里不妨将树的深度设高一些

传统特征工程的缺点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

特征学习

如何从数据中能够自主的学习特征,在这里我们主要介绍在深度学习中常用的三种网络结构。

自编码结构(Auto-Encoder)

在这里插入图片描述

卷积神经网络(CNN): 常用于图像特征提取

在这里插入图片描述

卷积神经网络(CNN): 常用于图像特征提取

在这里插入图片描述

循环神经网络(RNN): 常用于序列数据的特征提取

在这里插入图片描述

利用标准数据集进行特征学习(特征预训练)

  • 作用:模型效果验证 & 应用问题中的模型预训练
  • 图像数据预训练:ImageNet
    • http://www.image-net.org/
    • 1400万张图片数据,2万类别,已标注
    • 常用模型:ResNet,AlexNet,VGG等
    • 常见应用:图像分类、目标检测、目标定位,场景分类等
  • 文本数据预训练:Twitter,Wiki
    • https://nlp.stanford.edu/projects/glove/
    • 2 Billon tweets, 27 Billion 词数,1.2M 词表
    • 常用模型:CBOW,Skip-gram,Glove等Word2Vec模型
    • 常见应用:文本分类,文本推理,翻译等
  • 训练好的特征即可直接作为其它模型的输入来使用

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

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

相关文章

「Cpolar」看我如何实现公网远程控制Mac OS【使用mac自带VNC】

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言A…

探寻人工智能前沿 迎接AIGC时代——CSIG企业行(附一些好玩的创新点)

上周我有幸参加了由中国图像图形学会和合合信息共同举办的CSIG企业行活动。这次活动邀请了多位来自图像描述与视觉问答、图文公式识别、自然语言处理、生成式视觉等领域的学者,他们分享了各自的研究成果和经验,并与现场观众进行了深入的交流和探讨。干货…

重感知还是重地图?其实无需选择

近来,关于自动驾驶应该重感知还是重地图是个热点话题,很多重量级车厂、自动驾驶供应商都开始提出重感知轻地图的方案,并承诺很快能发布出对应的产品。业界也出现了高精地图已“死”等类似的言论。 一时之间,似乎轻地图已经成为了…

三种实现模型可视化的方式(print, torchinfo, tensorboard)

记录一下自己使用的三种模型可视化的方式,从简单到难 Print 最简单的是print,就不用多说了。 Torchinfo from torchinfo import summary import torch model (...) summary(model, (1,3,128,128))即可按照像文档路径一样的方式输出结构,…

算法模板(2):数据结构(5)做题积累

数据结构(3) 一、并查集 238. 银河英雄传说 有 NNN 艘战舰,也依次编号为 1,2,...,N1,2,...,N1,2,...,N,其中第 iii 号战舰处于第 iii 列。有 TTT 条指令,每条指令格式为以下两种之一:M i j,表…

Linux lvm管理讲解及命令

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 前言 目录 一、lvm管理 1.Logical Volume Manager,逻…

【运维笔记】VM centos 环境安装

镜像选择 阿里镜像源 注意在安装时,安装非图形化界面选择minimal版本安装。(笔者在安装时选择了erverything和DVD,发现都是图形界面hhh,浪费了一早上时间) 翻阅百度垃圾堆,版本号都推荐7.6-7.9&#xff…

图解国家网信办《生成式人工智能服务管理办法(征)》| 附下载

伴随ChatGPT兴起,生成式人工智能技术正作为一种创造性应用,牵引场景创新,推动新技术迭代升级和产业快速增长。由于生成式人工智能处于发展初期,技术成熟度、政策合规性等发展不足,导致其极易面临非法获取数据、个人隐私…

基于差分进化算法的含DG配电网无功优化模型

目录 1 主要内容 目标函数 算法流程 2 部分程序 3 程序结果 4 程序链接 1 主要内容 该程序参考《自适应多目标差分进化算法在计及电压稳定性的无功优化中的应用》,以网损和电压偏差为目标,考虑DG无功出力和电容器组,建立多目标无功优化…

OpenAI-ChatGPT最新官方接口《文本交互》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(一)(附源码)

Text completion 文本交互前言Introduction 导言Prompt design 提示设计Basics基础知识TroubleshootingClassificationImproving the classifiers efficiency 提高分类器的效率Generation 总结Conversation 对话Transformation 变化Translation 翻译Conversion 转化Summarizati…

联想服务器配置RAID

一、背景描述 目前有台联想服务器,配置如下: CPU:2颗处理器,40核 内存:512GB 磁盘:2*960GB SATA 4*2.4TB SAS 计划在联想物理机上安装 Vmware 的 ESXi 6.7 虚拟化管理软件,作为虚拟化服务器。…

Linux驱动开发——字符设备

目录 Linux设备分类 字符设备驱动基础 字符设备驱动框架 虚拟串口设备 Linux设备分类 Linux系统根据驱动程序实现的模型框架将设备驱动分为下面三种。 (1)字符设备驱动:设备对数据的处理是按照字节流的形式进行的,可以支持随机访问,也可以不支持随…

【解决】You May need an additional loader to handle the result of these loaders

说在前面 最近在新拉项目执行install以及run命令时,两个项目同时报了类似的错误,报错详情如下图所示。 因为之前同事运行代码没有问题,所以基本的问题可以定位在某个依赖版本问题,考虑到时间先后,大概率是新版本使用…

把中文翻译成英语的软件-chatgpt、谷歌、百度、批量翻译

用chatgpt怎么实现中文英文在线转换翻译 要实现中文英文在线转换翻译的代码,可以使用OpenAI的ChatGPT模型实现。以下是实现该功能的简要教程: 准备环境 安装Python 3.x,使用pip或conda安装transformers及相关依赖: pip install…

【算法训练 (day2)】积木画(dp问题)

目录 一.问题 题目描述 输入格式 输出格式 输出样例 二.解题思路 合法性判定(状态压缩): 推导dp式: 代码实现: 一.问题 题目描述 小明最近迷上了积木画,有这么两种类型的积木,分别为 I…

MySQL多表查询内连接外连接详解,join、left join、right join、full join的使用

目录 1、多表查询概览 1.1、分类 1.2、外连接的分类 1.3、常用的SQL语法标准 2、内外联接案例 2.1、初始化表 2.2、内连接 2.3、外连接案例 2.4、全连接案例 2.5、union和union all 2.6、实现MySQL全连接 2.7、内外连接面试基础 2.8、SQL99多表查询新特性 1、多表…

python入门项目:数据清洗

文章目录前言一、数据清洗是什么?二、重复值处理三 缺失值处理四、数据类型转换前言 本文是对数据清洗的简单学习。 本文使用的数据来源为:博雅读书社所提供的数据 一、数据清洗是什么? 数据清洗是指在数据分析或挖掘之前进行的&#xff0…

Linux Shell 实现一键部署Rabbitmq

rabbitmq 前言 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代…

2023年企业选择云服务器配置方法教程

这篇文章主要介绍企业选择腾讯云CVM云服务器配置方法教程。现在随着互联网信息的飞速发展,任何企业都脱离不了互联网,越来越多的企业都通过互联网实施无纸化的办公,互联网推广一体化整体型推广、互联网电子商务。中小型企业网站如何选购云服务…

又一款 AI 应用开源了,让你的绘画作品动起来!

公众号关注 “GitHubDaily”设为 “星标”,每天带你逛 GitHub!2021 年的时候,Meta(前身是 Facebook)团队发布了一款非常有趣的 AI 工具,叫 Animated Drawings,它的牛逼之处,在于能借…