博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
One-Hot Encoding 独热编码
阅读量:3739 次
发布时间:2019-05-22

本文共 769 字,大约阅读时间需要 2 分钟。

1.什么是独热编码(One-Hot)?

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

One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。

2.为什么使用one-hot编码来处理离散型特征?

在回归,分类,聚类等机器学习算法中,特征之间距离的计算或相似度的计算是非常重要的,而我们常用的距离或相似度的计算都是在欧式空间的相似度计算,计算余弦相似性,基于的就是欧式空间。

而我们使用one-hot编码,将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点。

将离散型特征使用one-hot编码,会让特征之间的距离计算更加合理。

比如,有一个离散型特征,代表工作类型,该离散型特征,共有三个取值,不使用one-hot编码,其表示分别是x_1 = (1), x_2 = (2), x_3 = (3)。两个工作之间的距离是,(x_1, x_2) = 1, d(x_2, x_3) = 1, d(x_1, x_3) = 2。那么x_1和x_3工作之间就越不相似吗?显然这样的表示,计算出来的特征的距离是不合理。那如果使用one-hot编码,则得到x_1 = (1, 0, 0), x_2 = (0, 1, 0), x_3 = (0, 0, 1),那么两个工作之间的距离就都是sqrt(2).即每两个工作之间的距离是一样的,显得更合理。

3.将离散型特征进行one-hot编码的作用,是为了让距离计算更合理,但如果特征是离散的,并且不用one-hot编码就可以很合理的计算出距离,那么就没必要进行one-hot编码。

 

转载地址:http://dopin.baihongyu.com/

你可能感兴趣的文章
Java中XML的概念与语法
查看>>
JavaWeb中xml 解析技术
查看>>
Java 9新特性
查看>>
java10新特性
查看>>
java11的新特性
查看>>
HTML概念
查看>>
HTML的基本标签与实体符号
查看>>
HTML的表格标签(重点)
查看>>
用idea创建 HTML 文档
查看>>
HTML的背景颜色和背景图片
查看>>
HTML的超链接或热链接(重点)
查看>>
HTML中的列表和iframe 框架标签 (内嵌窗口)
查看>>
HTML的表单form(重点)
查看>>
HTML中元素的id属性和HTML中的div和span
查看>>
MySql数据库概述及数据准备
查看>>
MySql的常用命令
查看>>
MySql中的数据查询语言(DQL)一:简单查询、条件查询、排序数据
查看>>
MySql中的数据查询语言(DQL)二:分组函数/聚合函数/多行处理函数和分组查询
查看>>
MySql中的数据查询语言(DQL)三:连接查询
查看>>
MySql中的数据查询语言(DQL)四:子查询
查看>>