onehot的好处,还是可以看看的

https://www.jqr.com/article/000243

一句话概括:one hot编码是将类别变量转换为机器学习算法易于利用的一种形式的过程。

类别值是分配给数据集中条目的数值编号。

sklearn的LabelEncoder可以帮我们完成这一类别值分配工作。

在我们继续之前,你可以想一下为什么不直接提供标签编码给模型训练就够了?为什么需要one hot编码?

标签编码的问题是它假定类别值越高,该类别更好。“等等,什么!”

这意味着:VW和Honda平均一下是Acura。毫无疑问,这是一个糟糕的方案。该模型的预测会有大量误差。

我们使用one hot编码器对类别进行“二进制化”操作,然后将其作为模型训练的特征,原因正在于此。

当然,如果我们在设计网络的时候考虑到这点,对标签编码的类别值进行特别处理,那就没问题。不过,在大多数情况下,使用one hot编码是一个更简单直接的方案。

sklearn.preprocessing.OneHotEncoder 

我理解,单维到多维空间。多维空间的距离好度量。

如果原本的标签编码是有序的,那one hot编码就不合适了——会丢失顺序信息。

原文地址:https://www.cnblogs.com/charlesblc/p/9571046.html