Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- from keras.datasets import imdb
- from keras import models
- from keras import layers
- from keras import optimizers
- from keras import losses
- from keras import metrics
- import matplotlib.pyplot as plt
- (train_data,train_labels),(test_data,test_label) = imdb.load_data(num_words=10000)
- # encoding of the lists of indices to turn them into tensors
- def vectorize_sequences(sequences,dimension=10000):
- results =np.zeros((len(sequences),dimension))
- for i, sequence in enumerate(sequences) :
- results[i,sequence] = 1
- return results
- x_train = vectorize_sequences(train_data)
- x_test = vectorize_sequences(test_data)
- y_train = np.asarray(train_labels).astype('float32')
- y_test = np.asarray(test_label).astype('float32')
- #building the model
- model = models.Sequential()
- model.add(layers.Dense(16,activation='relu',input_shape=(10000,)))
- model.add(layers.Dense(16,activation='relu'))
- model.add(layers.Dense(1,activation='sigmoid'))
- model.compile(optimizer=optimizers.RMSprop(lr=0.001),
- loss=losses.binary_crossentropy,
- metrics=[metrics.binary_accuracy])
- #setting a validation set and training the models
- x_val = x_train[:1000]
- y_val = y_train[:1000]
- partial_x_train = x_train[1000:]
- partial_y_train = y_train[1000:]
- history = model.fit(partial_x_train,partial_y_train,epochs=10,batch_size=512,
- validation_data=(x_val,y_val))
- #plotting results
- history_dict = history.history
- loss_values = history_dict['loss']
- val_loss_values = history_dict['val_loss']
- epochs = range(1, 10 +1)
- plt.plot(epochs,loss_values,'bo',label='Training loss')
- plt.plot(epochs,val_loss_values,'b',label='Validation_loss')
- #plt.xlabel('Epochs')
- #plt.ylabel('Loss')
- #plt.legend()
- #plt.show()
- acc_values = history_dict['binary_accuracy']
- val_acc_values = history_dict['val_binary_accuracy']
- plt.plot(epochs,acc_values,'ro',label='Traning acc')
- plt.plot(epochs,val_acc_values,'r',label='Validation acc')
- plt.title('Training and validation accuracy and loss')
- plt.xlabel('epochs')
- plt.ylabel('Loss / Accuracy')
- plt.legend()
- plt.show()
- #Testing on the test data and showing results
- results = model.evaluate(x_test,y_test)
- print('Results : ')
- print(results)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement