什么是one hot编码?为什么要使用one hot编码?

2018 年 5 月 25 日 论智
来源:Medium
编译:weakish

编者按:数据科学家Rakshith Vasudev简要解释了one hot编码这一机器学习中极为常见的技术。

图片来源:imgur

你可能在有关机器学习的很多文档、文章、论文中接触到“one hot编码”这一术语。本文将科普这一概念,介绍one hot编码到底是什么。

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

通过例子可能更容易理解这个概念。

假设我们有一个迷你数据集:

其中,类别值是分配给数据集中条目的数值编号。比如,如果我们在数据集中新加入一个公司,那么我们会给这家公司一个新类别值4。当独特的条目增加时,类别值将成比例增加。

在上面的表格中,类别值从1开始,更符合日常生活中的习惯。实际项目中,类别值从0开始(因为大多数计算机系统计数),所以,如果有N个类别,类别值为0至N-1.

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

现在让我们继续讨论one hot编码,将以上数据集one hot编码后,我们得到的表示如下:

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

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

让我解释一下:根据标签编码的类别值,我们的迷你数据集中VW > Acura > Honda。比方说,假设模型内部计算平均值(神经网络中有大量加权平均运算),那么1 + 3 = 4,4 / 2 = 2. 这意味着:VW和Honda平均一下是Acura。毫无疑问,这是一个糟糕的方案。该模型的预测会有大量误差。

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

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

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

最后,我们用一个例子总结下本文:

假设“花”的特征可能的取值为daffodil(水仙)、lily(百合)、rose(玫瑰)。one hot编码将其转换为三个特征:is_daffodilis_lilyis_rose,这些特征都是二进制的。

原文地址:https://hackernoon.com/what-is-one-hot-encoding-why-and-when-do-you-have-to-use-it-e3c6186d008f

登录查看更多
2

相关内容

专知会员服务
26+阅读 · 2020年2月15日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
深度神经网络模型压缩与加速综述
专知会员服务
128+阅读 · 2019年10月12日
【电子书推荐】Data Science with Python and Dask
专知会员服务
43+阅读 · 2019年6月1日
可视化理解四元数,愿你不再掉头发
计算机视觉life
31+阅读 · 2019年1月2日
kNN算法——帮你找到身边最相近的人
云栖社区
4+阅读 · 2018年9月3日
Word2Vec与Glove:词嵌入方法的动机和直觉
论智
14+阅读 · 2018年6月23日
数据科学家需要了解的5种聚类算法
论智
4+阅读 · 2018年4月7日
【干货】一文读懂什么是变分自编码器
专知
12+阅读 · 2018年2月11日
快速掌握机器学习,这 3 种算法你必须知道
开源中国
8+阅读 · 2017年11月9日
为什么『无监督集成学习』乏人问津?
AI研习社
10+阅读 · 2017年10月24日
神经网络中的「注意力」是什么?怎么用?
人工智能学家
5+阅读 · 2017年10月19日
Next Item Recommendation with Self-Attention
Arxiv
5+阅读 · 2018年8月25日
Arxiv
14+阅读 · 2018年4月18日
Arxiv
3+阅读 · 2018年3月2日
Arxiv
27+阅读 · 2017年12月6日
Arxiv
3+阅读 · 2017年8月15日
VIP会员
相关资讯
可视化理解四元数,愿你不再掉头发
计算机视觉life
31+阅读 · 2019年1月2日
kNN算法——帮你找到身边最相近的人
云栖社区
4+阅读 · 2018年9月3日
Word2Vec与Glove:词嵌入方法的动机和直觉
论智
14+阅读 · 2018年6月23日
数据科学家需要了解的5种聚类算法
论智
4+阅读 · 2018年4月7日
【干货】一文读懂什么是变分自编码器
专知
12+阅读 · 2018年2月11日
快速掌握机器学习,这 3 种算法你必须知道
开源中国
8+阅读 · 2017年11月9日
为什么『无监督集成学习』乏人问津?
AI研习社
10+阅读 · 2017年10月24日
神经网络中的「注意力」是什么?怎么用?
人工智能学家
5+阅读 · 2017年10月19日
Top
微信扫码咨询专知VIP会员