对categorical的变量做dummy variable,也就是one hot encoding,比如这个变量有n个category,那么最后encode得到的是n个binary variable还是n-1个呢?从模型表现上说,两者有差异吗?
3个回答
应该是n-1个。如果是n个的话,就会有一个dummy variable是冗余的,因为它可以被其他n-1个表示出来。
对于线性模型来说,冗余的dummy variable会增加变量的多重共线性。
如果是用random forests,并且非常在乎feature importance的话,可能用n个dummy variable比较好,不然的话就缺少一个variable的importance。
毕竟多重共线性对random forests影响不大
SofaSofa数据科学社区DS面试题库 DS面经“对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面经相关讨论
随便看看