from keras.datasets import reuters
import numpy as np
(train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000)
方法一:自己寫
def to_one_hot(label, dimension=46):
results = np.zeros((len(label), dimension))
for i, label in enumerate(label):
results[i, label] = 1.
return results
one_hot_train_label = to_one_hot(train_labels)
one_hot_test_label = to_one_hot(test_labels)
print(one_hot_train_label[0])
方法二:OneHotEncoder()
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(sparse=False)
one_hot_train_label2 = enc.fit_transform(train_labels.reshape(-1, 1))
print(one_hot_train_label2[0])
方法三:to_categorical()
from keras.utils.np_utils import to_categorical
one_hot_train_label3 = to_categorical(train_labels)
print(one_hot_train_label3[0])