Label Encoding vs One Hot Encoding
2017-04-14 12:25
821 查看
最近在刷kaggle的时候碰到了两种处理类别型特征的方法:label encoding和one hot encoding。我从stackexchange, quora等网上搜索了相关的问题,总结如下。
label encoding在某些情况下很有用,但是场景限制很多。比如有一列 [dog,cat,dog,mouse,cat],我们把其转换为[1,2,1,3,2]。这里就产生了一个奇怪的现象:dog和mouse的平均值是cat。而且像decision tree,random forest和xgboost这种算法能处理好这种转换,而且相比转换前,所需要的内存空间小一点。
one hot encoding的优点就是它的值只有0/1,不同的类型存储在垂直的空间。缺点就是,当类别的数量很多时,特征空间会变得非常大。在这种情况下,一般可以用PCA来减少维度。而且one hot encoding+PCA这种组合在实际中也非常有用。
总的来说,要是one hot encoding的类别数目不太多,建议优先考虑。
label encoding在某些情况下很有用,但是场景限制很多。比如有一列 [dog,cat,dog,mouse,cat],我们把其转换为[1,2,1,3,2]。这里就产生了一个奇怪的现象:dog和mouse的平均值是cat。而且像decision tree,random forest和xgboost这种算法能处理好这种转换,而且相比转换前,所需要的内存空间小一点。
one hot encoding的优点就是它的值只有0/1,不同的类型存储在垂直的空间。缺点就是,当类别的数量很多时,特征空间会变得非常大。在这种情况下,一般可以用PCA来减少维度。而且one hot encoding+PCA这种组合在实际中也非常有用。
总的来说,要是one hot encoding的类别数目不太多,建议优先考虑。
相关文章推荐
- labelencoding onehot
- one hot encoding
- 【机器学习】one hot encoding 独热编码
- integer encoding vs 1-hot (py)
- 基于sklearn 的one hot encoding
- 基于sklearn 的one hot encoding
- One hot encoding for state machines
- 基于sklearn 的one hot encoding
- [machine learning] 独热编码one hot encoding 及 MNIST label 独热编码范例
- python类别变量(class_label)转换为One_Hot的几种方式
- SKlear中的LabelEncoding和OneHotEncoding
- Label Encoding & One-Hot Encoding
- One hot encoding
- 机器学习之离散型特征处理--独热码(one_hot_encoding)
- pandas中one-hot编码的神坑
- one-hot独热编码问题
- one hot coding -机器学习
- 利用numpy 生成one_hot 数组
- 数据处理之one-hot
- PyTorch——Tensor_把索引标签转换成one-hot标签表示