Redian新闻
>
机器学习常用的特征转换方法总结

机器学习常用的特征转换方法总结

公众号新闻

作者:Parth Gohil

来源:deephub

机器学习模型的生命周期可以分为以下步骤:
  • 数据采集
  • 数据预处理
  • 特征工程
  • 特征选择
  • 建筑模型
  • 超参数调整
  • 模型部署

要构建模型就必须要对数据进行预处理。特征转换是这个过程中最重要的任务之一。在数据集中,大多数时候都会有不同大小的数据。为了使更好的预测,必须将不同的特征缩小到相同的幅度范围或某些特定的数据分布。

什么时候需要特征转换

在 K-Nearest-Neighbors、SVM 和 K-means 等基于距离的算法中,它们会给具有较大值的特征更多的权重,因为距离是用数据点的值计算的。如果我们提供算法未缩放的特征,预测将受到严重影响。在线性模型和基于梯度下降优化的算法中,特征缩放变得至关重要,因为如果我们输入不同大小的数据,将很难收敛到全局最小值。使用相同范围的值,算法学习的负担就会减轻。

什么时候不需要特征转换

大多数基于树型模型的集成方法不需要特征缩放,因为即使我们进行特征转换,对于熵的计算也不会发生太大变化。所以在这样的算法中,除非特别需要,一般情况下不需要缩放。

特征转换的方法

特征转换的方法有很多种,本文中将总结一些有用和流行的方法。推荐关注和星标公众号:数据STUDIO,更多优质内容等你发现~

  • Standardization
  • Min — Max Scaling/ Normalization
  • Robust Scaler
  • Logarithmic Transformation
  • Reciprocal Transformation
  • Square Root Translation
  • Box Cox Transformation

Standardization 标准化

当输入数据集的特征在范围之间有很大差异或以不同的测量单位(如高度、重量、米、英里等)进行测量时,应使用标准化。我们将所有变量或特征带到相似的规模。其中均值为 0,标准差为 1。

在标准化中,我们用平均值减去特征值,然后除以标准差,得到完全标准的正态分布。

Min — Max Scaling / Normalization

简单来说,最小最大缩放将特征值缩小到 0 到 1 的范围。或者我们也可以指定缩放的范围。

对于Normalization(归一化):会将特征值减去其最小值,然后除以特征范围(特征范围=特征最大值-特征最小值)。

Robust Scaler

如果数据集有太多异常值,则标准化和归一化都很难处理,在这种情况下,可以使用 Robust Scaler 进行特征缩放。

从名字就可以看出 Robust Scaler 对异常值很健壮 。它使用中位数和四分位数范围来缩放值,因此它不会受到非常大或非常小的特征值的影响。Robust Scaler用其中值减去特征值,然后除以它的 IQR。

  • 第 25 个百分位数 = 第1个四分位数
  • 第 50 个百分位数 = 第 2 个四分位数(也称为中位数)
  • 第 75 个百分位数 = 第 3 个四分位数
  • 第 100 个百分位数 = 第 4 个四分位数(也称为最大值)
  • IQR=四分位间距
  • IQR= 第三四分位数 - 第一个四分位数

高斯转换

一些机器学习算法(如线性回归和逻辑回归)都假设我们提供给它们的数据是正态分布的。所以如果数据是正态分布的,则此类算法往往性能更好并提供更高的准确性,标准化偏态分布在这里变得很重要。

但是大多数时候数据会出现偏差,需要使用算法将其转换为高斯分布,并且在确定一种方法之前需要尝试几种方法,因为不同的数据集往往有不同的要求,我们无法适应一种方法 所有的数据。

在本文中我们将仅使用来自泰坦尼克数据集来进行演示,下面绘制年龄直方图和 QQ 图。

下图是特征缩放之前的年龄特征

1、对数转换 Logarithmic Transformation

在对数转换中,我们将使用 NumPy 将 log 应用于所有特征值,并将其存储在新特征中。

从图中可以看到使用对数转换似乎不太适合这个数据集,它甚至会使数据偏斜,从而恶化分布。所以必须依靠其他方法来实现正态分布。

2、倒数转换 Reciprocal Transformation

在倒数转换中,我们将特征的每个值除以 1(倒数)并将其存储在新特征中。

很明显倒数转换也不适用于这些数据,它没有给出正态分布,而是使数据更加偏斜。

3、平方根转换 Square Root Translation

在平方根转换中,我们将特征计算平方根。使用 NumPy 可以方便的进行这种转换。

看样子似乎比倒数和对数转换更好的适应这个数据,但它是有点左倾斜。

4、Box Cox

Box Cox 转换是将数据分布转换为正态分布的最有效的转换技术之一。

Box-Cox 转换可以定义为:

T(Y)=(Y exp(λ)−1)/λ

其中 Y 是响应变量,λ 是转换参数。λ 从 -5 变化到 5。在转换中,考虑所有 λ 值并选择给定变量的最佳值。

我们可以使用 SciPy 模块中的stat来计算 box cox 转换。

到目前为止,box cox转换似乎是最适合年龄特征转换的方法。

总结

还有其他技术可以执行以获得高斯分布,但大多数时候以上的方法中的一种基本上就能满足数据集的要求。另外要说明的一点是,这些转换不仅仅适用于特征,对于回归来说我们还可以将其应用到目标中来获得更好的表现。推荐关注和星标公众号:数据STUDIO,更多优质内容等你发现~



谢谢大家观看,如有帮助,来个喜欢或者关注吧!


本文仅供学习参考,有任何疑问及侵权,扫描以下公众号二维码添加交流:


更多学习内容,仅在知识星球发布:




微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
自然语言处理 · 机器学习 · 深度学习如何降低你的房屋保险费用?最实用的方法总结来!新闻流与股价跳跃、图数据应用综述、机器学习与有效前沿统计机器学习方法 for NLP:基于HMM的词性标注持有美国B类签证入境,怎么转换身份?最佳的几种转换身份介绍!狗狗不知被遗弃开心散步,崩溃追车,即将追到主人却变换方向阿里巴巴20年流量方法总结:我们是如何做增长的?打破985校史!她以独作身份投中顶刊,曾因换方向重读博士7年,科研之路也“坎坎坷坷”……聊一聊机器学习的MLE和MAP:最大似然估计和最大后验估计在美国198名模与太太,可恨可悲可怜王羲之草书《安西帖》3种香港中文大学(深圳)数据科学学院招聘博士后 - 分布式优化和机器学习方向今日随笔/爱好-追剧“玫瑰之战”夏日时光 魁北克看朋友吃吃吃Robeco:使用机器学习发现被错误定价的股票博士后申请 | 西湖大学张岳课题组招收基础自然语言处理、机器翻译、机器学习等方向的博士后一步一步理解机器学习的ROC曲线今日开课|《数据科学·机器学习求职实战营》即将开课,赶快报名!南洋理工计算机视觉科研项目招生(仅限机器学习,深度学习,AI,迁移学习方向)发展空间巨大 | 机器学习工程师求职1V1定制计划随时启动!ML如何做科学发现?牛津大学268页博士论文详述科学机器学习内涵渔歌子(2):叠纹云影似帆行中文小样本NER模型方法总结和实战A股市场机器学习多因子模型实证10月下预告!机器学习、量化金融背景提升项目实战开课!112页数学知识整理!机器学习-数学基础回顾.pptx针对量子多体问题且可证明的高效机器学习,登上Science远瞩咨询:2022年全球人工智能机器学习细分市场分析机器学习分类问题:9个常用的评估指标总结建国后首次!华科副研究员以独作身份投中数学顶刊,曾因换方向重读博士7年​一文梳理ICML 2022中图机器学习热点和趋势深度解读 | 机器学习和深度学习的区别到底是什么?测试阶段模型自适应方法总结美国新泽西理工 招收2023春季/秋季入学博士生(全奖) 应用机器学习/移动系统安全和隐私打破985校史!她以独作身份投中数学顶刊,曾因换方向重读博士7年
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。