one-hot理解

本文详细介绍了One-Hot编码的基本概念,它是一种常用的文本特征提取技术。通过实例展示了如何将不同类型的特征(如性别和数字类别)进行编码。文章提供了两种方法的完整示例,包括使用OneHotEncoder进行数据预处理,并在机器学习模型中应用。最后,提到了相关参考资料以供进一步学习。
摘要由CSDN通过智能技术生成

一、基础知识

one-hot是比较常用的文本特征特征提取的方法。

one-hot编码,又称“独热编码”。其实就是用N位状态寄存器编码N个状态,每个状态都有独立的寄存器位,且这些寄存器位中只有一位有效,说白了就是只能有一个状态。
假设有四个样本,每个样本有三种特征:
在这里插入图片描述
这样,4个样本的特征向量就可以这么表示:

sample1 -> [0,1,1,0,0,0,1,0,0]

sample2 -> [1,0,0,1,0,0,0,1,0]

sample3 -> [0,1,0,0,1,0,0,1,0]

sample4 -> [1,0,0,0,0,1,0,0,1]

举个例子
在这里插入图片描述在这里插入图片描述
在举个例子

from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')
X = [['Male', 1], ['Female', 3], ['Female', 2]]
enc.fit(X)## fit来学习编码
enc.categories_

特征1为male和female两种类型,特征2为1/2/3三种类型,也即
在这里插入图片描述
用fit训练
在这里插入图片描述

enc.transform([['Female', 1], ['Male', 4]]).toarray()  # 将one-hot encode转换成数组(顺转换)
enc.inverse_transform([[0
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值