数据预处理之one-hot词向量

one-hot编码实现详解

one-hot编码,又称一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候只有一位有效。
one-hot编码是特征处理中的必备,在项目中我们是这么应用的:
在这里插入图片描述

Tensorflow中one_hot() 函数用法

在这里插入图片描述

sklearn实现one-hot编码

在这里插入图片描述

附代码一份:
import tensorflow as tf
from sklearn.preprocessing import OneHotEncoder
from numpy import array
from sklearn.preprocessing import LabelEncoder
data = ['cold', 'cold', 'warm', 'cold', 'hot', 'hot', 'warm', 'cold', 'warm', 'hot']
values = array(data)
# 为每个唯一单词指定唯一索引
label_encoder = LabelEncoder()
integer_encoded = label_encoder.fit_transform(values)
# 方法一:Tensorflow中one_hot() 函数用法
one_hot_data = tf.one_hot(integer_encoded, 3)
one_hot_data
# 方法二:sklearn实现one-hot编码
integer_encoded_sklearn = integer_encoded.reshape(len(integer_encoded), 1)
# 将sparse参数设置为False,则直接生成array对象,可直接使用
onehot_encoder = OneHotEncoder(sparse=False)
onehot_encoded = onehot_encoder.fit_transform(integer_encoded_sklearn)
onehot_encoded
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值