【机器学习300问】14、什么是特征工程?

        当我学习到这个知识点的时候十分困惑,因为从名字中我完全无法理解这个什么东西。于是呢我就去问了一下维基百科,下面是他的回答:

        特征工程(英语:feature engineering)又称特征提取(英语:feature extraction)或特征发现(英语:feature discovery)是使用领域知识从原始数据中提取特征(特征、属性、特性)的过程。 与仅向机器学习提供原始数据相比,其动机是使用这些额外的功能来提高机器学习过程的结果质量。

        说实话,当我看完段文字后,我心情是复杂的,因为我觉得这不但没有解决我原有的困惑,反而更加迷糊了。如果你和我有一样的困扰,那么我试试用通俗点的语言和一些小例子来让我们一起理解什么是特征工程。

一、什么是特征?

        要理解特征工程必须先知道什么是特征。在我之前的文章中我详细的介绍过什么是特征,你可以去瞧瞧看,在这里我简单用几个例子给大家说明。

        【机器学习300问】6、什么是机器学习中的特征量?icon-default.png?t=N7T8http://t.csdnimg.cn/WKohN

例一:一个人有两只手、两只腿、一个头、能使用工具、会奔跑。在这句话中,这些用来描述人的词语就是特征。

例二:一套房子的信息中有房屋宽度、房屋深度、房间数量、楼层数量、地理位置、房屋年限。这些用来描述房子的词语就是特征。

        把上述的例子用一个二维表格来表示的话就可以画成这样:

房屋特征表
房屋宽度房屋深度房间数量楼层数量地理位置房屋年限
房1101041市中心10
房281241市中心5
房39931郊区2

        特征就是这样的表格中的每一列,一列就是一个特征!

二、什么是特征工程?

        上面的这个表中有很多列,这些原本就在表中的列,我们叫他原始数据,或者叫他原始特征。特征工程其中的“工程”两个字就是说要对这个特征做写什么操作。那么做什么操作呢?做这些操作的目的是什么呢?如果搞懂了这两个问题,那么你就真正了解了什么是特征工程。

(1)特征工程要处理的数据常见的形式

  • 结构化数据,结构化数据类型可以看做关系型数据库的一张表(就像上面这张表),每一列都有很清晰的定义,包含了数值型、类别型两种基本类型。每一行数据表示一个样本信息。
  • 非结构化数据,非结构化数据主要包括文本、图像、音频、视频数据,其中包含的信息无法用一个简单的数值表示,也没有清晰的类别定义,并且每一条数据的大小各不相同。

(2)特征工程具体要做哪些操作

  1. 数据清洗:去除无效、缺失、重复的数据,处理异常值,填充缺失值等。

  2. 特征选择:确定哪些特征对模型预测目标变量最有价值,剔除冗余、无关或者噪声特征。

  3. 特征构造:基于领域知识或数据分析结果创建新的特征,例如在上面表中,我们只知道房屋的宽度和深度两个特征,但如果我想预测房屋的房价,那么面积 = 宽度 * 深度就更贴合我需要分析的问题。“面积”这个特征就是我构造出来的。

  4. 特征缩放:对特征进行归一化或标准化处理,确保不同尺度的特征在模型训练中具备可比性。

  5. 特征组合:将多个特征通过数学运算(如乘法、加法、逻辑运算等)组合成更高阶的特征。

(3)特征工程的目的是什么

        特征工程是从原始数据中提取、转换、构建具有代表性和预测能力的新特征的过程。特征工程的主要目的是提取出对预测模型有用的信息,这些信息以特征的形式表现出来。特征在机器学习模型中被用来预测或分类数据,因此它们必须包含足够的有用信息,以帮助模型做出准确的预测或分类。

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

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

相关文章

H3C设备配置端口镜像案例

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系! 厦门微思网络​​​​​​ https://www.xmws.cn 华为认证\华为HCIA-Datacom\华为HCIP-Datacom\华为HCIE-Datacom Linux\RHCE\RHCE 9.0\RHCA\ Oracle O…

C语言练习day8

变种水仙花 变种水仙花_牛客题霸_牛客网 题目: 思路:我们拿到题目的第一步可以先看一看题目给的例子,1461这个数被从中间拆成了两部分:1和461,14和61,146和1,不知道看到这大家有没有觉得很熟…

NodeJs 第十八章 图片水印

图片处理是一个专业的事情。秉承着专业的事情就要交给专业的人处理。所以我们就要站在巨人的肩膀上去处理问题。 本章节主要介绍 jimp。jimp 是一个完全用JavaScript为Node编写的图像处理库,没有外部依赖。 jimp 支持图片类型 bmpgifjpegpngtiff 简单示例 本示例…

stm32f103c8r6 dma 测试

main.h文件 #include "stm32f10x.h" //STM32头文件 #include "sys.h" #include "delay.h" #include "usart.h" #include "dma.h" int main (void){//主程序 u8 i; //RCC_Configuration(); //时钟设置 uart_init…

计算机服务器中了mallox勒索病毒怎么办,mallox勒索病毒解密数据恢复

企业的计算机服务器存储着企业重要的信息数据,为企业的生产运营提供了极大便利,但网络安全威胁随着技术的不断发展也在不断增加,近期,云天数据恢复中心接到许多企业的求助,企业的计算机服务器中了mallox勒索病毒&#…

XSS语句

XSS测试语句 在测试网站是否存在XSS漏洞时&#xff0c;应该输入一些标签如<,>输入后查看网页源代码是否过滤标签&#xff0c;如果没过滤&#xff0c;很大可能存在XSS漏洞。 <h5>1</h5> <span>1</span> <SCRIPT>alert(document.cookie)&l…

线性代数的学习和整理23:用EXCEL,VBA,python计算向量/矩阵的各种乘法:内积,点积,外积,叉积(建设ing)

目录 前言&#xff1a;EXCEL里的的向量相关计算公式 0.1 EXCEL里相关公式 0.2 先说结论&#xff1a;向量组的点乘公式和 向量组的点乘公式不一样 1 向量的点乘 (内积) 1.1 向量的点乘公式 1.2 EXCEL里向量点乘的计算 ​编辑 1.3 向量点乘的性质 1.3.1 内积的公式…

014-信息打点-JS架构框架识别泄漏提取API接口枚举FUZZ爬虫插件项目

014-信息打点-JS架构&框架识别&泄漏提取&API接口枚举&FUZZ爬虫&插件项目 #知识点&#xff1a; 1、JS前端架构-识别&分析 2、JS前端架构-开发框架分析 3、JS前端架构-打包器分析 4、JS前端架构-提取&FUZZ 解决&#xff1a; 1、如何从表现中的JS提取…

使用Element中的input组件如何实现文字和输入框在一行显示

利用 <el-form-item label"商品名称&#xff1a;">标签包裹即可&#xff0c;label写提示文字 <el-form ref"form" label-width"100px"><el-form-item label"商品名称&#xff1a;"><el-input v-model"na…

3 Python 工匠:使用数字与字符串的技巧

Python 工匠&#xff1a;使用数字与字符串的技巧 序言 这是 “Python 工匠”系列的第 3 篇文章。[查看系列所有文章] 数字是几乎所有编程语言里最基本的数据类型&#xff0c;它是我们通过代码连接现实世界的基础。在 Python 里有三种数值类型&#xff1a;整型&#xff08;int&…

9.Vim 编辑器

Vim编译器基础笔记请访问URL 1.配置主机名称 使用Vim编辑器修改/etc/hostname主机名称文件。 hostname 命令用于查看当前的主机名称 [rootlocalhost ~]# vim /etc/hostname [rootlocalhost ~]# hostname2.配置网卡信息 使用Vim编辑器修改网卡文件ifcfg-ens160 [rootlocal…

算法训练day20Leetcode654最大二叉树617合并二叉树700二叉树中的1搜索98验证二叉搜索树

654 最大二叉树 题目 https://leetcode.cn/problems/maximum-binary-tree/description/ 我的想法 中序遍历递归&#xff0c;找到最大值然后作为根节点 题目分析 凡是构造二叉树的题目都用前序遍历 &#xff08;中左右&#xff09; 为先构造中间节点&#xff0c;然后递归…

【设计模式-08】Flyweight享元模式

简要说明 简要的理解&#xff1a;享元模式就是新建一个池(Pool)&#xff0c;该池子(Pool)中有新建好的一堆对象&#xff0c;当需要使用时&#xff0c;从池子(Pool)中直接获取&#xff0c;不用重新新建一个对象。通俗的讲就是&#xff1a;共享元数据。 比如Java中的String就是使…

C++面试:向量vector和列表list介绍

目录 vector list list和vector的区别 1. 底层实现&#xff1a; 2. 动态性和静态性&#xff1a; 3. 内存管理&#xff1a; 4. 迭代器和指针&#xff1a; 5. 访问效率&#xff1a; 6. 适用场景&#xff1a; vector std::vector 是 C STL 提供的动态数组容器&#xff0…

嵌入式Linux:如何进行嵌入式Linux开发?

目录 1、裸机开发 2、SDK开发 3、驱动开发 3.1、字符设备驱动 3.2、块设备驱动 3.3、网络设备驱动 嵌入式Linux开发主要有三种方式&#xff1a;裸机开发、SDK开发和驱动开发。 1、裸机开发 裸机开发通常指在没有操作系统支持的环境中直接在硬件上运行程序的开发。这种开发方式要…

基于JavaWeb+SSM+Vue停车场微信小程序系统的设计和实现

基于JavaWebSSMVue停车场微信小程序系统的设计和实现 滑到文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 滑到文末获取源码 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关…

【Java 设计模式】结构型之外观模式

文章目录 1. 定义2. 应用场景3. 代码实现结语 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c; 它为复杂系统提供了一个简化的接口&#xff0c;隐藏了系统的复杂性&#xff0c;使得客户端更容易使用系统。外观模式通过创建一个包装类&#x…

【ASP.NET Core 基础知识】--路由和请求处理--路由概念(一)

在Web应用中&#xff0c;路由是一个至关重要的概念&#xff0c;它负责将用户的请求映射到相应的处理程序&#xff0c;以确保正确的页面或资源被呈现给用户。通过将用户请求与适当的处理程序关联起来&#xff0c;使得应用能够以有序和可维护的方式响应用户的操作。 一、ASP.NET…

【网络安全】-入门版

secure 一、基本工具1、metasploit framework ps.本着兴趣爱好&#xff0c;加强电脑的安全防护能力&#xff0c;并严格遵守法律和道德规范。一、基本工具 1、metasploit framework msf&#xff08;metasploit framework&#xff09;是一个开源的渗透测试框架&#xff0c;用于…

小程序系列--10.小程序WXS 脚本

一、概述 1. 什么是 wxs&#xff1f; WXS&#xff08;WeiXin Script&#xff09;是小程序独有的一套脚本语言&#xff0c;结合 WXML&#xff0c;可以构建出页面的结构。 2. wxs 的应用场景 wxml 中无法调用在页面的 .js 中定义的函数&#xff0c;但是&#xff0c;wxml 中可…