因变量一个热编码器

时间:2019-02-10 15:10:43

标签: python machine-learning

我是machine learning的新手,我的问题是:

  

如果包含三个类,我们是否需要对因变量 y进行编码   1,2,3 段,我想知道是否需要对   不包含因变量时

2 个答案:

答案 0 :(得分:0)

如果单个变量有k个类,则OneHotEncoder将创建k列数。

例如:如果该数据集中的性别值为2,它将创建Male/Female个变量, 如果性别值为3

,它将创建male/Female/PreferNotToSay变量

现在,您不希望谓词y中包含多个变量,所以最好使用LabelEncoder(来自sklearn.preprocessing)或保持维数完整的某种机制。

答案 1 :(得分:0)

在您的情况下,我没有清楚地得到什么因变量。

  1. 如果您在谈论输出'y',那么就不需要一种热编码。
  2. 如果特定列组合/依赖于其他任何列。在机器学习中,一列与另一列之间存在某种或其他关系。
  3. 最好对分类变量进行一次热编码。

以下是一种热编码的示例:

之前:

name gender
a     M
b     F
c     O

之后

name M F O
a    1 0 0
b    0 1 0
c    0 0 1