机器学习-特征工程

一、特征工程介绍

1.1 什么是特征

数值特征(连续特征)、文本特征(离散特征)

1.2 特征的种类

1.3 特征工程

特征是机器学习可疑直接使用的,模型和特征之间是一个循环过程;

实际上特征工程就是将原始数据处理成机器学习可以直接使用数据的过程;

特征工程,降噪、将特征转化为数字,更好构建数学模型。

二、特征预处理

现实中数据集可能杂乱,如存在异常值、缺失值(非常大或小),这个时候是没法做特征工程的,需要数据预处理后,在做特征工程,这样效果更好!

特征预处理的⽅法

2.1 缺失值处理

⼀般缺失值可以⽤均值、中位数、众数等填充,或者直接将缺失值当做⼀个 特定的值来对待。还可以利⽤⼀些复杂的插值⽅法,如样条插值等来填充缺失值。如果缺 失值不多,还可以将包含缺失值的样本丢弃。

2.2 归⼀化

不同特征之间由于量纲不⼀样,数值可能相差很⼤,直接将这些差别极⼤的特征 灌⼊模型,会导致数值⼩的特征根本不起作⽤,⼀般我们要对数值特征进⾏归⼀化处理, 常⽤的归⼀化⽅法有min-max归⼀化、分位数归⼀化、正态分布归⼀化、⾏归⼀化等。

2.3异常值与数值截断

对于数值型特征,可能会存在异常值,包括异常⼤和异常⼩的值。在统计数据处理中有所谓3σ准则,即对于服从正态分布的随机变量,该变量的数值分布在 (μ-3σ,μ+3σ)中的概率为0.9974,这时可以将超出该范围的值看成异常值,采⽤向上截断 (⽤μ-3σ)和向下截断(⽤μ+3σ)的⽅法来为异常值赋予新的值。对于真实业务场景,可能还要根据特征变量的实际意义来进⾏处理。

2.4⾮线性变换

有时某个属性不同值之间差别较⼤(⽐如年收⼊),有时为了让模型具备更多的⾮线性能⼒(特别是对于线性模型),这两种情况下都需要对特征进⾏⾮线性变换,⽐如值取 对数(值都是正的情况下)作为最终的特征,也可以采⽤多项式、⾼斯变换、logistic变换等转化为⾮线性特征。

三、特征构建

所谓特征构建是从原始数据中提取特征,将原始数据空间映 射到新的特征向量空间,使得在新的特征空间中,模型能够更好地学习 数据中的规律。

离散特征

1.1 one-hot编码(n-hot)

1.2 计数编码

次数来编码,如所有样本中,A歌手出现的次数,A歌手直接转化为次数。

1.3 散列编码(映射到低维向量空间)

1.4 离散特征之间交叉(⽤户地域与视频语⾔)

1.5 离散特征与连续特征交叉(视频语⾔与⽤户年龄)

连续(数值)特征

  1. 直接使⽤

  2. 离散化(分桶)

  3. 特征交叉(⾮线性函数)

时间特征

  1. 转化为数值

离基准时间,如离1900年多少年,

  1. 将时间离散化(是否⼯作⽇、周⼏和一天的那个时间点)

是否为周日(0或者1)

地理位置特征

  1. ⾏政区划表示

1-北京,2-天津.... 其实one-hot编码也是可以的

  1. 经纬度表示

二维向量来表示

  1. 距离表示

商家离你的距离,一维数字来表示,近的会优先表示

⽂本特征

TF-IDF、LDA、Word2Vec

富媒体特征

领域相关的⽅法

嵌⼊特征

基于内容的嵌⼊、基于⾏为的嵌⼊

相关推荐
澪-sl7 分钟前
基于CNN的人脸关键点检测
人工智能·深度学习·神经网络·计算机视觉·cnn·视觉检测·卷积神经网络
羊小猪~~23 分钟前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研
摸爬滚打李上进40 分钟前
重生学AI第十六集:线性层nn.Linear
人工智能·pytorch·python·神经网络·机器学习
HuashuiMu花水木42 分钟前
PyTorch笔记1----------Tensor(张量):基本概念、创建、属性、算数运算
人工智能·pytorch·笔记
lishaoan771 小时前
使用tensorflow的线性回归的例子(四)
人工智能·tensorflow·线性回归
AI让世界更懂你1 小时前
【ACL系列论文写作指北15-如何进行reveiw】-公平、公正、公开
人工智能·自然语言处理
asyxchenchong8881 小时前
ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模
机器学习·语言模型·chatgpt
牛客企业服务2 小时前
2025年AI面试推荐榜单,数字化招聘转型优选
人工智能·python·算法·面试·职场和发展·金融·求职招聘
视觉语言导航2 小时前
RAL-2025 | 清华大学数字孪生驱动的机器人视觉导航!VR-Robo:面向视觉机器人导航与运动的现实-模拟-现实框架
人工智能·深度学习·机器人·具身智能
**梯度已爆炸**3 小时前
自然语言处理入门
人工智能·自然语言处理