使用cnn对imdb进行文本分类
from keras.models import Sequential
from keras.layers import Dense,Flatten,SimpleRNN,Embedding,LSTM,Bidirectional,Conv1D,MaxPooling1D,GlobalMaxPooling1D
from keras.datasets import imdb
from keras import preprocessing as preprocessing
from keras.optimizers import RMSprop
import matplotlib.pyplot as plt
from keras.datasets import imdb
from keras.preprocessing import sequence
max_features = 10000
max_len = 200
(x_train,y_train),(x_test,y_test) = imdb.load_data(num_words=max_features)
x_train = preprocessing.sequence.pad_sequences(x_train,maxlen=max_len)
x_test = preprocessing.sequence.pad_sequences(x_test,maxlen=max_len)
print('x_train shape:', x_train.shape)
print('x_test shape:', x_test.shape)
model = Sequential()
model.add(Embedding(max_features, 128, input_length=max_len))
model.add(Conv1D(32, 7, activation='relu'))
model.add(MaxPooling1D(5))
model.add(Conv1D(32, 7, activation='relu'))
model.add(GlobalMaxPooling1D())
model.add(Dense(1))
model.summary()
#
model.compile(optimizer=RMSprop(lr=1e-4),
loss='binary_crossentropy',
metrics=['acc'])
history = model.fit(x_train, y_train,
epochs=10,
batch_size=128,
validation_split=0.2)