特征选择与特征提取。什么时候使用?


16

特征提取和特征选择从本质上减少了数据的维数,但是如果我对的话,特征提取还使数据更可分离。

哪种技术会比其他技术更受青睐?何时使用?

我当时在想,因为特征选择不会修改原始数据及其属性,所以我假设在要培训的特征不变的情况下很重要,因此您将使用特征选择。但是我无法想象你为什么想要这样的东西。

Answers:


18

在Toros给出的答案中,

这三个(请参阅下面的项目符号)非常相似,但有一个细微的区别::(简洁易记)

  • 特征提取和特征工程:将原始数据转换为适合建模的特征;

  • 特征变换:对数据进行变换以提高算法的准确性;

  • 功能选择:删除不必要的功能。

只是添加一个相同的示例,

特征提取和工程(我们可以从中提取某些东西)

  • 文本(ngram,word2vec,tf-idf等)
  • 图片(CNN,文字,问答)
  • 地理空间数据(纬度,经度等)
  • 日期和时间(日,月,周,年,滚动)
  • 时间序列,网络等
  • 降维技术(PCA,SVD,本征面等)
  • 也许我们也可以使用集群(DBSCAN等)
  • .....(以及其他许多人)

特征转换(将其转换为有意义的)

  • 归一化和变化分布(缩放)
  • 互动互动
  • 填写缺失值(中位数填写等)
  • .....(以及其他许多人)

特征选择(基于这些选定特征构建模型)

  • 统计方法
  • 通过建模选择
  • 网格搜索
  • 交叉验证
  • .....(以及其他许多人)

希望这可以帮助...

请查看他人共享的链接。他们很好...


回答+1的好方法。
Toros91 '18

对这个社区表示敬意。.从中
学到

1
确实是那个男人,自2017年10月以来我一直是会员。我学到了很多东西。希望对您也一样。我一直在阅读您的答案,它们很好.BTW对您在SO上经历的事情深表歉意。我看不到全部,但正如Neil Slater所说的那样,您要一直保持冷静直到最后。保持!我们还有很长的路要走。:)
Toros91 '18

这些应按什么顺序处理?除了数据清理和数据拆分。第一步,是5步中的哪一步?
technazi

当您确保已准备好将数据发送到模型时,数据拆分就在最后完成了。恕我直言,上述事情没有这样的排序,因为它们重叠了很多次(特征提取,特征工程,特征转换。),但是如果您将模型度量标准或等效数据集上的等效数据(用于衡量其性能)用于交叉验证或等效数据,则在将数据拆分为验证后一定要完成特征选择,您可以迭代地开始删除列并查看imp colsorimp
Aditya

5

正如Aditya所说,有3个与功能相关的术语有时会彼此混淆。我将尝试对其中每个进行简要说明:

  • 特征提取:从难以直接分析/无法直接比较的格式的数据中生成特征(例如图像,时间序列等)。在时间序列的示例中,一些简单的特征可能用于例如:时间序列的长度,周期,平均值,std等。
  • 特征转换:转换现有特征,以便在旧特征的基础上创建新特征。一种主要用于降维的技术是主成分分析(pca),该方法使用一些正交变换,以便根据初始变量集生成一组线性不相关的变量。
  • 特征选择:从一组现有特征中选择对目标变量具有最高“重要性” /影响力的特征。这可以通过多种技术来完成:例如线性回归,决策树,“重要性”权重的计算(例如Fisher评分,ReliefF)

如果唯一要实现的是现有数据集中的降维,则可以使用特征转换或特征选择方法。但是,如果您需要了解被标识为“重要”特征的物理解释,或者试图限制分析所需收集的数据量(需要所有初始的一组特征进行特征转换),那么只有功能选择才能起作用。

您可以在以下链接中找到有关“ 特征选择和降维”的更多详细信息:


4

我认为这是两件事

让我们从功能选择开始:

该技术用于选择能够解释大多数目标变量(与目标变量具有相关性)的特征。该测试在将模型应用于数据之前进行。

为了更好地解释它,让我们举一个例子:有10个特征和1个目标变量,有9个特征解释了90%的目标变量,有10个特征一起解释了91%的目标变量。因此1变量并没有太大的区别,因此您倾向于在建模之前将其删除(这也取决于业务)。我也可以称为预测变量重要性。

现在让我们来谈谈特征提取

它用于无监督学习,图像轮廓提取,从文本中提取Bi-gram,从语音文本记录中提取音素。当您对数据一无所知时,就像没有数据字典一样,太多的功能意味着数据不是可理解的格式。然后,您尝试应用此技术来获得一些可以解释大部分数据的功能。特征提取涉及特征的转换,这通常是不可逆的,因为在降维过程中会丢失一些信息。

您可以对给定的数据应用特征提取以提取特征,然后针对目标变量应用特征选择以选择子集,这有助于建立具有良好结果的良好模型。

您可以通过这些Link-1Link-2进行深入了解。

我们可以在R,Python,SPSS中实现它们。

让我知道是否需要进一步澄清。


3

两者非常不同:“特征选择”确实会减小尺寸,但特征提取会增加从其他特征计算得出的尺寸。

对于面板或时间序列数据,一个通常具有datetime变量,而一个则不想在日期本身上训练因变量,因为将来不会出现这些变量。因此,您应该消除datetime:消除功能。

另一方面,工作日/周末可能非常相关,因此我们需要从日期时间计算工作日状态:特征提取。


0

机器学习项目成功的关键部分是要提供一系列良好的功能来进行培训。此过程称为功能工程,涉及:

•功能选择:在现有功能中选择最有用的功能进行训练。
•特征提取:将现有特征组合以产生更有用的特征(如我们前面所见,降维算法可以提供帮助)。
•通过收集新数据来创建新功能

引用:“通过SciKit-Learn,Keras和Tensorflow进行机器学习的手把手-Aurelien Geron”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.