路透社多分类:
from keras.layers import Dense
from keras.datasets import reuters
from keras import models
from keras.utils.np_utils import to_categorical
import numpy as np
import copy
(train_data,train_label),(test_data,test_label) = reuters.load_data(num_words=10000) #前10000个常见单词
def vec_scequence(sequences,dim=10000): #进行编码
result = np.zeros((len(sequences),dim))
for i,sequence in enumerate(sequences):
result[i,sequence] = 1
return result
x_train = vec_scequence(train_data)
x_test = vec_scequence(test_data)
y_train = to_categorical(train_label)
y_test = to_categorical(test_label)
model = models.Sequential()
model.add(Dense(64,activation='relu',input_shape=(10000,)))
model.add(Dense(64,activation='relu'))
model.add(Dense(46,activation='softmax'))
model.compile(optimizer='rmsprop',loss='categorical_crossentropy',metrics=['acc'])
history = model.fit(x_train,y_train,epochs=20,batch_size=16,validation_split=0.2)
result = model.evaluate(x_test,y_test)
# print(result)
test_label_copy = copy.copy(test_label)
print(test_label)
np.random.shuffle(test_label_copy) #打乱标签
hits_array = np.array(test_label) == np.array(test_label_copy)
print(hits_array)