【机器学习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.hqwc.cn/news/419115.html

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

相关文章

消除噪音:Chain-of-Note (CoN) 强大的方法为您的 RAG 管道提供强大动力

论文地址:https://arxiv.org/abs/2311.09210 英文原文地址:https://praveengovindaraj.com/cutting-through-the-noise-chain-of-notes-con-robust-approach-to-super-power-your-rag-pipelines-0df5f1ce7952 在快速发展的人工智能和机器学习领域&#x…

python-基础篇-函数

文章目录 函数基础目标01. 函数的快速体验1.1 快速体验 02. 函数基本使用2.1 函数的定义2.2 函数调用2.3 第一个函数演练思考 2.4 PyCharm 的调试工具2.5 函数的文档注释 03. 函数的参数3.1 函数参数的使用3.2 参数的作用3.3 形参和实参 04. 函数的返回值05. 函数的嵌套调用函数…

Modern C++ 一个例子学习条件变量

目录 问题程序 施魔法让BUG浮出水面 条件变量注意事项 修改程序 问题程序 今天无意中看到一篇帖子,关于条件变量的,不过仔细看看发现它并达不到原本的目的。 程序如下,读者可以先想想他的本意,以及有没有问题: #…

【LeetCode每日一题】2788. 按分隔符拆分字符串

2024-1-20 文章目录 [2788. 按分隔符拆分字符串](https://leetcode.cn/problems/split-strings-by-separator/)思路: 2788. 按分隔符拆分字符串 思路: 对于每个单词,使用一个可变字符串 StringBuilder 来构建拆分后的单词。初始时&#xff0…

Linux: dev: glibc: 里面有很多的关于系统调用的函数

其实都没有实体源代码klogctl.c,而是通过编译时构造出来的源代码实体,比如klogctl这个函数,glibc的反汇编如下: 直接是0x67这个系统调用:103: Reading symbols from /usr/lib64/libc-2.28.so... (No debugg…

软件资源管理下载系统全新带勋章功能 + Uniapp前端

测试环境:php7.1。ng1.2,MySQL 5.6 常见问题: 配置好登录后转圈圈,检查环境及伪静态以及后台创建好应用 上传图片不了,检查php拓展fileinfo 以及public文件权限 App个人主页随机背景图,在前端uitl文件…

Oracle篇—参数文件在11gRAC或12cRAC的启动位置介绍

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

安全基础~攻防特性3

文章目录 SSTI(模板注入)1. 简介2. 成因3. 常见框架存在注入4. 判断存在SSTI SSTI(模板注入) 1. 简介 (Server-Side Template Injection) 服务端模板注入 1、使用框架(MVC的模式),如python的flask,php的tp,java的sp…

leetcode:每日温度---单调栈

题目: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例&…

Linux指令(四)

1.more指令 我们知道cat指令是用来读取文本文件的,但是如果是大文件,其实是不适合cat读取的,原因是:cat读取会直接到文本的结尾,所以我们引入:more指令 该指令不会将文件直接读到结尾,而是将最…

Linux ---- 小玩具

目录 一、安装: 1、佛祖保佑,永不宕机,永无bug 2、小火车 3、艺术字和其它 天气预报 艺术字 4、会说话的小牦牛 5、其他趣味图片 我爱你 腻害 英雄联盟 帅 忍 龙 你是猪 福 好运连连 欢迎 加油 想你 忘不了你 我错了 你…

MySQL基础笔记(9)事务

一.简介 所谓事务,是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或者撤销操作请求,即,这些操作要么同时成功,或者同时失败——OS中有原语不可分割的概念&…