首页 >> 企业 > >> 内容页

独热编码

2023-06-18 12:39:10 哔哩哔哩

什么是独热编码


(资料图片仅供参考)

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

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

我们用如下案例来理解独热编码:

性别特征:["男","女"]

祖国特征:["中国","美国,"法国"]

运动特征:["足球","篮球","羽毛球","乒乓球"]

怎么转化成独热码呢?

用独热码来表示就是

男  =>  10

女  =>  01

祖国特征:["中国","美国,"法国"](这里N=3):

中国  =>  100

美国  =>  010

法国  =>  001

运动特征:["足球","篮球","羽毛球","乒乓球"](这里N=4):

足球  =>  1000

篮球  =>  0100

羽毛球  =>  0010

乒乓球  =>  0001

所以,当一个样本为["男","中国","乒乓球"]的时候,完整的特征数字化的结果为:

[1,0,1,0,0,0,0,0,1]

知识点

OneHotEncoder(categories='auto', sparse='True', dtype='float')

参数说明:

1、categories:默认’auto’,根据根据训练数据自动确认类别;默认数组的列表,categories[i]保存第 i 列中预期的类别。传递的类别不应在单个特征中混合字符串和数值,并且应在数值的情况下进行排序。使用的类别可以在categories_属性中找到。

2、sparse:默认为True,如果设置为 True 将返回稀疏矩阵,否则将返回一个数组。

3、dtype:默认为float,所需的输出数据类型。

我们用sklearn的preprocessing进行数据预处理,案例如下:

20条 上一页1/20 下一页
最近更新