one-hot编码简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了one-hot编码简介相关的知识,希望对你有一定的参考价值。

参考技术A One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。

在实际的机器学习的应用任务中,特征有时候并不总是连续值,有可能是一些分类值,如性别可分为“male”和“female”。在机器学习任务中,对于这样的特征,通常我们需要对其进行特征数字化,如下面的例子:

有如下三个特征属性:

1.性别:["male","female"]

2.地区:["Europe","US","Asia"]

3.浏览器:["Firefox","Chrome","Safari","Internet Explorer"]

对于某一个样本,如["male","US","Internet Explorer"],我们需要将这个分类值的特征数字化,最直接的方法,我们可以采用序列化的方式:[0,1,3]。但是这样的特征处理并不能直接放入机器学习算法中。

对于上述的问题,性别的属性是二维的,同理,地区是三维的,浏览器则是思维的,这样,我们可以采用One-Hot编码的方式对上述的样本“["male","US","Internet Explorer"]”编码,“male”则对应着[1,0],同理“US”对应着[0,1,0],“Internet Explorer”对应着[0,0,0,1]。则完整的特征数字化的结果为:[1,0,0,1,0,0,0,0,1]。这样导致的一个结果就是数据会变得非常的稀疏。

原文参考:http://blog.csdn.net/google19890102/article/details/44039761

独热编码(one-hot)是什么?什么数据类型需要进行独热编码?pandas如何进行独热编码(one-hot)?

独热编码(one-hot)是什么?什么数据类型需要进行独热编码?pandas如何进行独热编码(one-hot)?

See the source image

独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。

独热编码是将分类变量转换为可提供给机器学习算法更好地进行预测的形式的过程。 一种稀疏向量,其中:一个元素设为 1;所有其他元素均设为 0。 one-hot 编码常用于表示拥有有限个可能值的字符串或标识符。例如,假设某个指定的植物学数据集记录了 15000 个不同的物种,其中每个物种都用独一无二的字符串标识符来表示。在特征工程过程中,您可能需要将这些字符串标识符编码为 one-hot 向量,向量的大小为 15000。

在很多的机器学习任务中,特征并不总是连续值,而有可能是分类值或者我们也常常称为标称值。例如,年龄的老、中、情。例如天气的,阴天、晴天、暴雨、沙尘暴等;

从上面的举例,我们也可以发现离散特征的编码分为两种情况:

  1、离散特征的取值之间没有大小的意义,比如颜色:[红、绿、蓝、青、黑、白、紫、橙],这些分类值或者标称值之间没有任何大小相关的信息,那么就使用one-hot编码;可以使用sklearn中的OneHotEncoder()或者pandas中的

以上是关于one-hot编码简介的主要内容,如果未能解决你的问题,请参考以下文章

机器学习中为什么使用one-hot编码

类别的one-hot编码

为啥要用one-hot编码

机器学习入门-数据预处理-数字映射和one-hot编码 1.LabelEncoder(进行数据自编码) 2.map(进行字典的数字编码映射) 3.OnehotEncoder(进行one-hot编码)

one-hot 编码的多重共线性

机器学习One-Hot编码