篇首语:本文由编程笔记#小编为大家整理,主要介绍了独热编码(one-hot)是什么?什么数据类型需要进行独热编码?pandas如何进行独热编码(one-hot)?相关的知识,希望对你有一定的参考价值。
独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。
独热编码是将分类变量转换为可提供给机器学习算法更好地进行预测的形式的过程。 一种稀疏向量,其中:一个元素设为 1;所有其他元素均设为 0。 one-hot 编码常用于表示拥有有限个可能值的字符串或标识符。例如,假设某个指定的植物学数据集记录了 15000 个不同的物种,其中每个物种都用独一无二的字符串标识符来表示。在特征工程过程中,您可能需要将这些字符串标识符编码为 one-hot 向量,向量的大小为 15000。
在很多的机器学习任务中,特征并不总是连续值,而有可能是分类值或者我们也常常称为标称值。例如,年龄的老、中、情。例如天气的,阴天、晴天、暴雨、沙尘暴等;
从上面的举例,我们也可以发现离散特征的编码分为两种情况:
1、离散特征的取值之间没有大小的意义,比如颜色:[红、绿、蓝、青、黑、白、紫、橙],这些分类值或者标称值之间没有任何大小相关的信息,那么就使用one-hot编码;可以使用sklearn中的OneHotEncoder()或者pandas中的