dummy variable是n个还是n-1个

  统计/机器学习 数据预处理    浏览次数:2708        分享
0

对categorical的变量做dummy variable,也就是one hot encoding,比如这个变量有n个category,那么最后encode得到的是n个binary variable还是n-1个呢?从模型表现上说,两者有差异吗?

 

robertt   2018-07-19 13:32



   3个回答 
2

应该是n-1个。如果是n个的话,就会有一个dummy variable是冗余的,因为它可以被其他n-1个表示出来。

对于线性模型来说,冗余的dummy variable会增加变量的多重共线性。


SofaSofa数据科学社区DS面试题库 DS面经

Josh_Josh   2018-07-24 22:12

1

如果是用random forests,并且非常在乎feature importance的话,可能用n个dummy variable比较好,不然的话就缺少一个variable的importance。

毕竟多重共线性对random forests影响不大

SofaSofa数据科学社区DS面试题库 DS面经

数据痴汉   2018-08-05 23:32

1

“对categorical的变量做dummy variable,也就是one hot encoding”。

------

这句话其实不大准确,one hot encoding和做dummy variable不大等价。它们的区别其实也就是你提的问题。

如果一个分类变量有n类,那么做dummy variable的话,你得到的是n-1个二元变量;如果做one hot的话,你得到的是n个二元变量。

one hot encoding会有冗余的变量。

SofaSofa数据科学社区DS面试题库 DS面经

东布东   2019-02-27 08:29



  相关主题

数据白化是什么意思?   1回答

怎么对特征做标准化使得数值都是正数?   3回答

z-score标准化不适用于处理什么样的数据?   1回答

在数据预处理阶段,特征的标准化有哪些方法?   1回答

机器学习中的过采样和欠采样是什么意思?   2回答

机器学习中的维度灾难怎么防止和克服?   0回答

什么时候需要对y或者特征进行对数变换?   1回答

在训练前数据处理的时候,怎么剔除异常值?   2回答

二值化和Onehot表示的特征哪一个较好?   1回答

怎么把dataframe的一列转成整数类型   2回答

python中怎么把千位分隔符以及货币符号去掉转成数值形式?   1回答

把分组频数统计的结果添加到原来dataframe中   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!