Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Keras | Python For Data Science Cheat Sheet, Cheat Sheet of Data Structures and Algorithms

This cheat sheet contains basic example about Keras Data Sets

Typology: Cheat Sheet

2019/2020

Uploaded on 11/27/2020

ehaab
ehaab šŸ‡ŗšŸ‡ø

4.2

(32)

275 documents

1 / 1

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Python For Data Science Cheat Sheet
Keras
Learn Python for data science Interactively at www.DataCamp.com
Keras
DataCamp
Learn Python for Data Science Interactively
Data Also see NumPy, Pandas & Scikit-Learn
Keras is a powerful and easy-to-use deep learning library for
Theano and TensorFlow that provides a high-level neural
networks API to develop and evaluate deep learning models.
Model Architecture
Model Fine-tuning
Optimization Parameters
>>> from keras.optimizers import RMSprop
>>> opt = RMSprop(lr=0.0001, decay=1e-6)
>>> model2.compile(loss='categorical_crossentropy',
optimizer=opt,
metrics=['accuracy'])
A Basic Example
>>> import numpy as np
>>> from keras.models import Sequential
>>> from keras.layers import Dense
>>> data = np.random.random((1000,100))
>>> labels = np.random.randint(2,size=(1000,1))
>>> model = Sequential()
>>> model.add(Dense(32,
activation='relu',
input_dim=100))
>>> model.add(Dense(1, activation='sigmoid'))
>>> model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuracy'])
>>> model.fit(data,labels,epochs=10,batch_size=32)
>>> predictions = model.predict(data)
Preprocessing
One-Hot Encoding
>>> from keras.utils import to_categorical
>>> Y_train = to_categorical(y_train, num_classes)
>>> Y_test = to_categorical(y_test, num_classes)
>>> Y_train3 = to_categorical(y_train3, num_classes)
>>> Y_test3 = to_categorical(y_test3, num_classes)
Also see NumPy & Scikit-Learn
>>> model.output_shape Model output shape
>>> model.summary() Model summary representation
>>> model.get_config() Model configuration
>>> model.get_weights() List all weight tensors in the model
Your data needs to be stored as NumPy arrays or as a list of NumPy arrays. Ide-
ally, you split the data in training and test sets, for which you can also resort
to the train_test_split module of sklearn.cross_validation.
Early Stopping
>>> from keras.callbacks import EarlyStopping
>>> early_stopping_monitor = EarlyStopping(patience=2)
>>> model3.fit(x_train4,
y_train4,
batch_size=32,
epochs=15,
validation_data=(x_test4,y_test4),
callbacks=[early_stopping_monitor])
Inspect Model
Sequential Model
>>> from keras.models import Sequential
>>> model = Sequential()
>>> model2 = Sequential()
>>> model3 = Sequential()
Multilayer Perceptron (MLP)
>>> from keras.layers import Dropout
>>> model.add(Dense(512,activation='relu',input_shape=(784,)))
>>> model.add(Dropout(0.2))
>>> model.add(Dense(512,activation='relu'))
>>> model.add(Dropout(0.2))
>>> model.add(Dense(10,activation='softmax'))
Standardization/Normalization
Sequence Padding
>>> from keras.preprocessing import sequence
>>> x_train4 = sequence.pad_sequences(x_train4,maxlen=80)
>>> x_test4 = sequence.pad_sequences(x_test4,maxlen=80)
>>> from sklearn.preprocessing import StandardScaler
>>> scaler = StandardScaler().fit(x_train2)
>>> standardized_X = scaler.transform(x_train2)
>>> standardized_X_test = scaler.transform(x_test2)
Keras Data Sets
>>> from keras.datasets import boston_housing,
mnist,
cifar10,
imdb
>>> (x_train,y_train),(x_test,y_test) = mnist.load_data()
>>> (x_train2,y_train2),(x_test2,y_test2) = boston_housing.load_data()
>>> (x_train3,y_train3),(x_test3,y_test3) = cifar10.load_data()
>>> (x_train4,y_train4),(x_test4,y_test4) = imdb.load_data(num_words=20000)
>>> num_classes = 10
Convolutional Neural Network (CNN)
>>> from keras.layers import Activation,Conv2D,MaxPooling2D,Flatten
>>> model2.add(Conv2D(32,(3,3),padding='same',input_shape=x_train.shape[1:]))
>>> model2.add(Activation('relu'))
>>> model2.add(Conv2D(32,(3,3)))
>>> model2.add(Activation('relu'))
>>> model2.add(MaxPooling2D(pool_size=(2,2)))
>>> model2.add(Dropout(0.25))
>>> model2.add(Conv2D(64,(3,3), padding='same'))
>>> model2.add(Activation('relu'))
>>> model2.add(Conv2D(64,(3, 3)))
>>> model2.add(Activation('relu'))
>>> model2.add(MaxPooling2D(pool_size=(2,2)))
>>> model2.add(Dropout(0.25))
>>> model2.add(Flatten())
>>> model2.add(Dense(512))
>>> model2.add(Activation('relu'))
>>> model2.add(Dropout(0.5))
>>> model2.add(Dense(num_classes))
>>> model2.add(Activation('softmax'))
Recurrent Neural Network (RNN)
Compile Model
MLP: Binary Classification
>>> model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
MLP: Multi-Class Classification
>>> model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
MLP: Regression
>>> model.compile(optimizer='rmsprop',
loss='mse',
metrics=['mae'])
>>> from keras.klayers import Embedding,LSTM
>>> model3.add(Embedding(20000,128))
>>> model3.add(LSTM(128,dropout=0.2,recurrent_dropout=0.2))
>>> model3.add(Dense(1,activation='sigmoid'))
Prediction
Evaluate Your Model's Performance
>>> score = model3.evaluate(x_test,
y_test,
batch_size=32)
>>> model3.predict(x_test4, batch_size=32)
>>> model3.predict_classes(x_test4,batch_size=32)
Model Training
>>> model3.fit(x_train4,
y_train4,
batch_size=32,
epochs=15,
verbose=1,
validation_data=(x_test4,y_test4))
>>> from keras.models import load_model
>>> model3.save('model_file.h5')
>>> my_model = load_model('my_model.h5')
Save/ Reload Models
>>> from keras.layers import Dense
>>> model.add(Dense(12,
input_dim=8,
kernel_initializer='uniform',
activation='relu'))
>>> model.add(Dense(8,kernel_initializer='uniform',activation='relu'))
>>> model.add(Dense(1,kernel_initializer='uniform',activation='sigm oid'))
>>> model.add(Dense(64,activation='relu',input_dim=train_data.shape[1]))
>>> model.add(Dense(1))
Binary Classification
Multi-Class Classification
Regression
Other
>>> from urllib.request import urlopen
>>> data = np.loadtxt(urlopen("http://archive.ics.uci.edu/
ml/machine-learning-databases/pima-indians-diabetes/
pima-indians-diabetes.data"),delimiter=",")
>>> X = data[:,0:8]
>>> y = data [:,8]
>>> from sklearn.model_selection import train_test_split
>>> X_train5,X_test5,y_train5,y_test5 = train_test_split(X,
y,
test_size=0.33,
random_state=42)
Train and Test Sets
Recurrent Neural Network
>>> model3.compile(loss='binary_crossentropy',
optimizer='adam',
metrics=['accuracy'])

Partial preview of the text

Download Keras | Python For Data Science Cheat Sheet and more Cheat Sheet Data Structures and Algorithms in PDF only on Docsity!

Python For Data Science Cheat Sheet

Keras

Learn Python for data science Interactively at www.DataCamp.com

Keras

DataCamp

Learn Python for Data Science Interactively

Data Also see^ NumPy, Pandas & Scikit-Learn

Keras is a powerful and easy-to-use deep learning library for

Theano and TensorFlow that provides a high-level neural

networks API to develop and evaluate deep learning models.

Model Architecture

Model Fine-tuning

Optimization Parameters

from keras.optimizers import RMSprop opt = RMSprop(lr=0.0001, decay=1e-6) (^) model2.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])

A Basic Example

import numpy as np from keras.models import Sequential from keras.layers import Dense data = np.random.random((1000,100)) labels = np.random.randint(2,size=(1000,1)) model = Sequential() model.add(Dense(32, activation='relu', input_dim=100)) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy']) model.fit(data,labels,epochs=10,batch_size=32) predictions = model.predict(data)

Preprocessing

One-Hot Encoding

from keras.utils import to_categorical Y_train = to_categorical(y_train, num_classes) Y_test = to_categorical(y_test, num_classes) Y_train3 = to_categorical(y_train3, num_classes) Y_test3 = to_categorical(y_test3, num_classes) Also see NumPy & Scikit-Learn model.output_shape Model output shape model.summary() Model summary representation model.get_config() Model configuration model.get_weights() List all weight tensors in the model

Your data needs to be stored as NumPy arrays or as a list of NumPy arrays. Ide-

ally, you split the data in training and test sets, for which you can also resort

to the train_test_split module of sklearn.cross_validation.

Early Stopping

from keras.callbacks import EarlyStopping early_stopping_monitor = EarlyStopping(patience=2) model3.fit(x_train4, y_train4,

from keras.layers import Dense >>> data = np.random.random((1000,100)) >>> labels = np.random.randint(2,size=(1000,1)) >>> model = Sequential() >>> model.add(Dense(32, activation='relu', input_dim=100)) >>> model.add(Dense(1, activation='sigmoid')) >>> model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy']) >>> model.fit(data,labels,epochs=10,batch_size=32) >>> predictions = model.predict(data) ## Preprocessing ## One-Hot Encoding >>> from keras.utils import to_categorical >>> Y_train = to_categorical(y_train, num_classes) >>> Y_test = to_categorical(y_test, num_classes) >>> Y_train3 = to_categorical(y_train3, num_classes) >>> Y_test3 = to_categorical(y_test3, num_classes) Also see NumPy & Scikit-Learn >>> model.output_shape Model output shape >>> model.summary() Model summary representation >>> model.get_config() Model configuration >>> model.get_weights() List all weight tensors in the model ## Your data needs to be stored as NumPy arrays or as a list of NumPy arrays. Ide- ## ally, you split the data in training and test sets, for which you can also resort ## to the train_test_split module of sklearn.cross_validation. ## Early Stopping >>> from keras.callbacks import EarlyStopping >>> early_stopping_monitor = EarlyStopping(patience=2) >>> model3.fit(x_train4, y_train4, batch_size=32, epochs=15, validation_data=(x_test4,y_test4), callbacks=[early_stopping_monitor])

Inspect Model

Sequential Model

from keras.models import Sequential model = Sequential() model2 = Sequential() model3 = Sequential()

Multilayer Perceptron (MLP)

from keras.layers import Dropout model.add(Dense(512,activation='relu',input_shape=(784,))) model.add(Dropout(0.2)) model.add(Dense(512,activation='relu')) model.add(Dropout(0.2)) model.add(Dense(10,activation='softmax'))

Standardization/Normalization

Sequence Padding

from keras.preprocessing import sequence x_train4 = sequence.pad_sequences(x_train4,maxlen=80) x_test4 = sequence.pad_sequences(x_test4,maxlen=80) from sklearn.preprocessing import StandardScaler scaler = StandardScaler().fit(x_train2) standardized_X = scaler.transform(x_train2) standardized_X_test = scaler.transform(x_test2)

Keras Data Sets

from keras.datasets import boston_housing, mnist, cifar10, imdb (x_train,y_train),(x_test,y_test) = mnist.load_data() (x_train2,y_train2),(x_test2,y_test2) = boston_housing.load_data() (x_train3,y_train3),(x_test3,y_test3) = cifar10.load_data() (x_train4,y_train4),(x_test4,y_test4) = imdb.load_data(num_words=20000) num_classes = 10

Convolutional Neural Network (CNN)

from keras.layers import Activation,Conv2D,MaxPooling2D,Flatten model2.add(Conv2D(32,(3,3),padding='same',input_shape=x_train.shape[1:])) model2.add(Activation('relu')) model2.add(Conv2D(32,(3,3))) model2.add(Activation('relu')) model2.add(MaxPooling2D(pool_size=(2,2))) model2.add(Dropout(0.25)) model2.add(Conv2D(64,(3,3), padding='same')) model2.add(Activation('relu')) model2.add(Conv2D(64,(3, 3))) model2.add(Activation('relu')) model2.add(MaxPooling2D(pool_size=(2,2))) model2.add(Dropout(0.25)) model2.add(Flatten()) model2.add(Dense(512)) model2.add(Activation('relu')) model2.add(Dropout(0.5)) model2.add(Dense(num_classes)) model2.add(Activation('softmax'))

Recurrent Neural Network (RNN)

Compile Model

MLP: Binary Classification

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

MLP: Multi-Class Classification

model.compile(optimizer='rmsprop', loss='categorical_crossentropy',

MLP: Regression^ metrics=['accuracy'])

model.compile(optimizer='rmsprop', loss='mse', metrics=['mae']) from keras.klayers import Embedding,LSTM model3.add(Embedding(20000,128)) model3.add(LSTM(128,dropout=0.2,recurrent_dropout=0.2)) model3.add(Dense(1,activation='sigmoid'))

Prediction

Evaluate Your Model's Performance

score = model3.evaluate(x_test, y_test, batch_size=32) model3.predict(x_test4, batch_size=32) model3.predict_classes(x_test4,batch_size=32)

Model Training

model3.fit(x_train4, y_train4, batch_size=32, epochs=15, verbose=1, validation_data=(x_test4,y_test4)) from keras.models import load_model model3.save('model_file.h5') my_model = load_model('my_model.h5')

Save/ Reload Models

from keras.layers import Dense model.add(Dense(12, input_dim=8, kernel_initializer='uniform', activation='relu')) model.add(Dense(8,kernel_initializer='uniform',activation='relu')) model.add(Dense(1,kernel_initializer='uniform',activation='sigmoid')) model.add(Dense(64,activation='relu',input_dim=train_data.shape[1])) model.add(Dense(1))

Binary Classification

Multi-Class Classification

Regression

Other

from urllib.request import urlopen data = np.loadtxt(urlopen("http://archive.ics.uci.edu/ ml/machine-learning-databases/pima-indians-diabetes/ pima-indians-diabetes.data"),delimiter=",") X = data[:,0:8] y = data [:,8] from sklearn.model_selection import train_test_split X_train5,X_test5,y_train5,y_test5 = train_test_split(X, y, test_size=0.33, random_state=42)

Train and Test Sets

Recurrent Neural Network

model3.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])