特征编码、特征选择和归一化的顺序

我正在尝试使用神经网络进行二元和多类别分类。我的数据集包含二元、数值和名义变量。训练集中的名义值有很多种,因此当我执行OneHotEncoding时,维度从42增加到122。此外,由于数据集的设计方式,一些值仅出现在训练集中。

所以我使用了以下顺序:

  1. 独热编码
  2. 归一化
  3. 特征选择或主成分分析(PCA)

但我发现有些人也使用神经网络的人在执行独热编码之前就进行了特征选择。这对我来说很奇怪,因为神经网络只能处理数值数据。因此,运行一个可能删除分类值的特征选择算法可能会对神经网络造成损害,尤其是考虑到独热编码对整个模型维度的影响。

但我不知道,所以我必须问:这里正确的顺序是什么?这个讨论遵循了我使用的顺序,但我对独热编码和特征选择部分更感兴趣


回答:

qu: 这里正确的顺序是什么?这个顺序可能会根据您的应用和数据而有所不同。

例如,在您的qu中,为什么在独热编码之前使用特征选择,这在您所述的名义数据中是适用的:“训练集中的名义值有很多种,因此当我执行独热编码时,维度从42增加到122”。在这种应用中,在独热编码之前进行特征选择是有用的。

  • “因此,运行一个可能删除分类值的特征选择算法可能会对神经网络造成损害,尤其是考虑到独热编码对整个模型维度的影响” -> 您对神经网络的这种解释完全不正确,因为无用的分类值的存在可能会使神经网络的调整变得困难(或导致神经网络调整时无法收敛)或增加计算复杂性。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注