5、主成分分析(Principal Component Analysis)

本文介绍了主成分分析(PCA),一种用于发现数据变化的工具,常用于特征工程。PCA通过创建数据的新特征(主成分)来揭示原始特征之间的关系。PCA可以用于降维、异常检测和去相关,且在汽车数据集示例中,揭示了汽车尺寸与燃油效率之间的对比关系。
摘要由CSDN通过智能技术生成

通过分析变异发现新特征。

1、简介

在上一课中,我们研究了我们的第一个基于模型的特征工程方法:聚类。在这一课中,我们将研究我们的下一个方法:主成分分析(PCA)。就像聚类是基于接近度对数据集进行划分一样,你可以把PCA看作是对数据中的变化进行划分。PCA是一个很好的工具,可以帮助你发现数据中的重要关系,并且也可以用来创建更有信息量的特征。

(技术注释:PCA通常应用于标准化数据。对于标准化数据,“变化”意味着“相关性”。对于未标准化的数据,“变化”意味着“协方差”。在本课程中,所有的数据在应用PCA之前都将被标准化。)

2、主成分分析

鲍鱼数据集中,有几千个塔斯马尼亚鲍鱼的物理测量值。(鲍鱼是一种海洋生物,类似于蛤蜊或牡蛎。)我们现在只看一些特征:它们的壳的'Height''Diameter'

你可以想象,在这个数据中有“变化的轴”描述了鲍鱼倾向于彼此不同的方式。在图像中,这些轴出现为沿着数据的自然维度运行的垂直线,每个原始特征有一个轴。
在这里插入图片描述

我们经常可以给这些变化的轴命名。我们可能会把较长的轴称为“Size”组件:小高度和小直径(左下角)与大高度和大直径(右上角)形成对比。我们可能会把较短的轴称为“Shape”组件:小高度和大直径(扁平形状)与大高度和小直径(圆形状)形成对比。

注意,我们可以用它们的'Size''Shape'来描述鲍鱼,而不是用它们的'Height''Diameter'。这实际上就是PCA的全部思想:我们用它的变化轴来描述数据,而不是用原始特征。变化的轴成为新的特征。
在这里插入图片描述

主成分通过在特征空间中旋转数据集成为新的特征。

PCA构造的新特征实际上只是原始特征的线性组合(加权和):

df["Size"] = 0.707 * X["Height"] + 0.707 * X["Diameter"]
df["Shape"] = 0.707 * X["Height"] - 0.707 * X["Diameter"]

这些新特征被称为数据的主成分。权重本身被称为载荷。主成分的数量将与原始数据集中的特征数量相同:如果我们使用了十个特征而不是两个,我们将最终得到十个组件。

一个组件的载荷告诉我们它通过符号和大小表达了什么样的变化:

Features \ Components Size (PC1) Shape (PC2)
Height 0.707 0.707
Diameter 0.707 -0.707

这个载荷的表格告诉我们,在Size组件中,HeightDiameter在同一方向变化(相同的符号),但在Shape组件中,它们在相反的方向变化(相反的符号)。在每个组件中,载荷都是相同的大小,所以特征在两者中都有相等的贡献。

PCA还告诉我们每个组件中的变化量。从图中我们可以看到,数据沿着Size组件的变化比沿着Shape组件的变化更大。PCA通过每个组件的解释方差的百分比使这一点变得准确。

在这里插入图片描述

解释了Height和Diameter之间约96%的方差,Shape解释了约4%的方差。

Size组件捕获了HeightDiameter之间的大部分变化。然而,重要的是要记住,一个组件中的方差量并不一定对应于它作为预测器的好坏:这取决于你想要预测什么。

3、PCA用于特征工程

你可以用两种方式使用PCA进行特征工程。

第一种方式是将其用作描述性技术。由于组件告诉你关于变化的信息,你可以计算组件的MI分数,看看哪种变化对你的目标最具预测性。这可能会给你一些创造特征的想法——如果'Size'很重要,比如说,'Height''Diameter'的乘积,或者如果Shape很重要,'Height''Diameter'的比率。你甚至可以尝试在一个或多个高分组件上进行聚类。

第二种方式是使用组件本身作为特征。因为组件直接暴露了数据的变化结构,所以它们通常比原始特征更有信息量。以下是一些用例:

  • 降维:当你的特征高度冗余(多重共线性,具体来说)时,PCA会将冗余划分到一个或多个接近零的方差组件中,然后你可以丢弃这些组件,因为它们几乎不包含信息。
  • 异常检测:不常见的变化,从原始特征中看不出来,通常会出现在低方差的组件中。这些组件在异常或离群值检测任务中可能非常有信息量。
  • 降噪:一组传感器读数通常会共享一些常见的背景噪声。PCA有时可以将(有信息的)信号收集到较少的特征中,同时保留噪声,从而提高信噪比。
  • 去相关:一些机器学习算法在处理高度相关的特征时会遇到困难。PCA将相关的特征转换为不相关的组件,这可能会使你的算法更容易处理。

PCA基本上给你直接访问你的数据的相关结构。你肯定会想出你自己的应用!

  • PCA最佳实践

    在应用PCA时,有几件事需要记住:

    • PCA只适用于数值特征,如连续量或计数。
    • PCA对规模敏感。在应用PCA之前标准化你的数据是一种好的做法,除非你知道你有充分的理由不这样做。
    • 考虑移除或限制离群值,因为它们可能会对结果产生不适当的影响。

4、示例 - 1985年的汽车

在这个例子中,我们将回到我们的汽车数据集,并应用PCA,使用它作为一种描述性技术来发现特征。我们将在练习中看到其他的用例。

这个隐藏的单元格加载数据并

  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法蒋同学

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值