本文主要介绍使用keras对数据进行one-hot编码。
下面是示例代码:
import numpy as np
# 初始数据; 每个“样本”一个条目
samples = ['The cat sat on the mat.', 'The dog ate my homework.']
# 首先,构建数据中所有token的索引
token_index = {}
for sample in samples:
# 通过`split`方法对样本进行标记。实际使用时还会从样本中删除标点符号和特殊字符。
for word in sample.split():
if word not in token_index:
# 为每个唯一单词指定唯一索引
# 不将索引0赋值给任何单词
token_index[word] = len(token_index) + 1
# 接下来,对样本进行矢量化
# 只考虑每个样本中的第一个'max_length'字
max_length = 10
# 用于存储结果
results = np.zeros((len(samples), max_length, max(token_index.values()) + 1))
for i, sample in enumerate(samples):
for j, word in list(enumerate(sample.split()))[:max_length]: