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

时间:2019-10-13 21:12:02

标签: python machine-learning neural-network feature-selection

我正在尝试使用神经网络进行二进制和多类分类。我的数据集包含二进制,数字和名义变量。训练集上的标称值有很多值,因此当我执行OneHotEncoding时,尺寸从42移到122。另外,某些值仅出现在训练集中,因为数据集是通过这种方式提出的。

所以我使用了以下顺序:

  1. 一键编码
  2. 规范化
  3. 功能选择或PCA

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

但是我不知道,所以我不得不问:这里正确的顺序是什么? thread遵循我使用的顺序,但是我对一键编码和特征选择部分更感兴趣

1 个答案:

答案 0 :(得分:0)

qu:这里的正确顺序是什么? 此顺序可能会因您的应用程序和数据而异。

例如在您的qu中,为什么在oneHotEncoding之前使用功能选择,它适用于您的名义数据,您声明:  “训练集上的标称值有很多值,所以当我执行OneHotEncoding时,尺寸从42移到122” 在此应用程序中,在oneHotEncoding之前进行功能选择非常有用。

  • “因此,运行可能会删除分类值的特征选择算法可能会损害神经网络,特别是一次热编码会影响整个模型的维数”->您在此对神经网络的解释这种方法根本不正确,因为对一种热编码的无用分类值的存在可能会使神经网络的调整变得困难(或导致神经网络调整没有收敛)或计算复杂性。