【机器学习】One-Hot编码

One-Hot编码是一种用于将离散特征转换为数值向量的方法,确保在计算距离或相似度时避免不合理的比较。文章通过例子解释了编码过程,并指出在某些情况下不使用One-Hot编码也是合理的。
摘要由CSDN通过智能技术生成
定义

One-Hot编码,也叫做一位有效编码

  1. 采用N个寄存器对N个状态进行编码
  2. 每一个状态都有其独立的寄存器位
  3. 并在在任意一个时刻,只有一个位的值有效。即只有一位是1,其他位都是0
例子

国家 = [‘中国’, ‘美国’, ‘俄罗斯’],此时N=3,即有3个状态.
中国 = [1 0 0]
美国 = [0 1 0]
俄罗斯 = [0 0 1]

若还想要同时表示其他属性,例如加上:性别 = [‘男’, ‘女’],此时:
男 = [1 0]
女 = [0 1]

则表示[‘男’, ‘中国’],则为:[1 0 1 0 0 ]

为什么使用One-Hot编码

若不采用的话,例如三个特征的取值为:x1 = 1, x2 = 2, x3 = 3

则计算不同特征之间的距离,此时结果为:
(x1, x2) = 1
(x1, x3) = 2
(x2, x3) = 1
会显示x1和x3之间的距离更远,但实际三者距离应该是相同的

若采用One-Hot编码,此时结果为:
(x1, x2) = 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值