Professional Documents
Culture Documents
Jay Patel - DSML - Practical-6.ipynb - Colaboratory
Jay Patel - DSML - Practical-6.ipynb - Colaboratory
ipynb - Colaboratory
#**Practical-6**
Practical-6
**Aim:** Aim:
import keras
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#dataset = pd.read_csv('Churn_Modelling.csv')
dataset = pd.read_csv('/content/drive/MyDrive/Churn_Modelling.csv')
dataset.head()
X = dataset.iloc[:, 3:-1].values
Y = dataset.iloc[:, -1].values
...,
https://colab.research.google.com/drive/1UqniYmaPRC08QOjO1S3F-CC-IuqlWY87#scrollTo=Uggdo35ruZsJ&printMode=true 1/8
5/21/22, 11:11 PM 19012021014_Jay Patel_DSML_Practical-6.ipynb - Colaboratory
# Encoding categorical data
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
from sklearn.compose import ColumnTransformer
transform = ColumnTransformer([("Cs",OneHotEncoder(),[1])], remainder = 'passthrough')
X = transform.fit_transform(X)
X = X[:,1:]
...,
transform = ColumnTransformer([("Gender",OneHotEncoder(),[3])], remainder = 'passthrough'
X = transform.fit_transform(X)
X = X[:,1:]
...,
# Splitting the dataset into the training set and test set
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state = 0)
X_train, X_test, Y_train, Y_test
...,
...,
https://colab.research.google.com/drive/1UqniYmaPRC08QOjO1S3F-CC-IuqlWY87#scrollTo=Uggdo35ruZsJ&printMode=true 2/8
5/21/22, 11:11 PM 19012021014_Jay Patel_DSML_Practical-6.ipynb - Colaboratory
# Feature Scaling
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
X_train
-1.03227043, 1.10643166],
0.9687384 , -0.74866447],
-1.03227043, 1.48533467],
...,
-1.03227043, 1.41231994],
0.9687384 , 0.84432121],
-1.03227043, 0.32472465]])
X_test
0.9687384 , 1.61085707],
-1.03227043, 0.49587037],
0.9687384 , -0.42478674],
...,
-1.03227043, 0.71888467],
0.9687384 , -1.54507805],
-1.03227043, 1.61255917]])
# Intitialising the ANN
classifier = Sequential()
# Adding the input layer and First hidden layer
classifier.add(Dense(units=6, kernel_initializer = 'uniform', activation = 'relu',
input_shape = (11,)))
#classifier.add(Dense(output_dim=6, init = 'uniform', activation = 'relu', input_dim = 11)
# Adding 2nd hidden layer
#classifier.add(Dense(output_dim=6, init = 'uniform', activation = 'relu'))
classifier.add(Dense(units=6, kernel_initializer = 'uniform', activation = 'relu'))
https://colab.research.google.com/drive/1UqniYmaPRC08QOjO1S3F-CC-IuqlWY87#scrollTo=Uggdo35ruZsJ&printMode=true 3/8
5/21/22, 11:11 PM 19012021014_Jay Patel_DSML_Practical-6.ipynb - Colaboratory
# Adding the output layer
#classifier.add(Dense(output_dim=1, init = 'uniform', activation = 'sigmoid'))
classifier.add(Dense(units=1, kernel_initializer = 'uniform', activation = 'sigmoid'))
# Compiling the ANN - Adadelta - categorical_crossentropy
classifier.compile(optimizer = 'adam', loss='binary_crossentropy', metrics = ['accuracy'])
# Fitting the ANN to the training dataset
classifier.fit(X_train, Y_train, batch_size = 10, epochs = 100)
# Predicting the Test set results
Y_pred = classifier.predict(X_test)
Y_pred = (Y_pred > 0.5)
Y_pred
Epoch 1/100
https://colab.research.google.com/drive/1UqniYmaPRC08QOjO1S3F-CC-IuqlWY87#scrollTo=Uggdo35ruZsJ&printMode=true 4/8
5/21/22, 11:11 PM 19012021014_Jay Patel_DSML_Practical-6.ipynb - Colaboratory
Epoch 22/100
# Making the confusion matrix
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(Y_test, Y_pred)
cm
array([[1547, 48],
[ 265, 140]])
print((cm[0][0]+cm[1][1])/(cm[0][0]+cm[0][1]+cm[1][0]+cm[1][1]) * 100)
84.35000000000001
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import cross_val_score
from keras.layers import Dense
from keras.models import Sequential
from keras.layers import Dropout
def build_classifier():
# creating the model
model = Sequential()
# first hidden layer
model.add(Dense(output_dim = 8, init = 'uniform', activation = 'relu', input_dim = 14))
model.add(Dropout(0.5))
# second hidden layer
model.add(Dense(output_dim = 8, init = 'uniform', activation = 'relu'))
model.add(Dropout(0.5))
# output layer
model.add(Dense(output_dim = 1, init = 'uniform', activation = 'sigmoid'))
# Compiling the NN
# binary_crossentropy loss function used when a binary output is expected
model.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
https://colab.research.google.com/drive/1UqniYmaPRC08QOjO1S3F-CC-IuqlWY87#scrollTo=Uggdo35ruZsJ&printMode=true 5/8
5/21/22, 11:11 PM 19012021014_Jay Patel_DSML_Practical-6.ipynb - Colaboratory
model.fit(x_train, y_train, batch_size = 10, nb_epoch = 50)
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import cross_val_score
from keras.layers import Dense
from keras.models import Sequential
def build_classifier():
# creating the model
model = Sequential()
# first hidden layer
model.add(Dense(output_dim = 8, init = 'uniform', activation = 'relu', input_dim = 13))
# second hidden layer
model.add(Dense(output_dim = 8, init = 'uniform', activation = 'relu'))
# output layer
model.add(Dense(output_dim = 1, init = 'uniform', activation = 'sigmoid'))
# Compiling the NN
# binary_crossentropy loss function used when a binary output is expected
model.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
model.fit(x_train, y_train, batch_size = 10, nb_epoch = 49)
dataset.columns
dtype='object')
'''
predicting if the costumer having following information will leave the bank or not ?
Geography : france
Age = 50
Credit score = 850
Tenure = 4
Balance = 150000
Number of Products = 5
Gender = Female
Has Credit Card = yes
Is Active Member = yes
Estimated Salary = 85000
'''
new_prediction = model.predict(sc.transform(np.array([[850, 50, 4, 15000, 0, 5, 1, 1, 8500
new_prediction = (new_prediction > 0.5 )
print(new_prediction)
https://colab.research.google.com/drive/1UqniYmaPRC08QOjO1S3F-CC-IuqlWY87#scrollTo=Uggdo35ruZsJ&printMode=true 6/8
5/21/22, 11:11 PM 19012021014_Jay Patel_DSML_Practical-6.ipynb - Colaboratory
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import cross_val_score
from keras.layers import Dense
from keras.models import Sequential
def build_classifier():
# creating the model
model = Sequential()
# first hidden layer
model.add(Dense(output_dim = 8, init = 'uniform', activation = 'relu', input_dim = 13))
# second hidden layer
model.add(Dense(output_dim = 8, init = 'uniform', activation = 'relu'))
# output layer
model.add(Dense(output_dim = 1, init = 'uniform', activation = 'sigmoid'))
# Compiling the NN
# binary_crossentropy loss function used when a binary output is expected
model.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
return model
model = KerasClassifier(build_fn = build_classifier, batch_size = 10, nb_epoch = 50)
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:25: DeprecationWarning:
https://colab.research.google.com/drive/1UqniYmaPRC08QOjO1S3F-CC-IuqlWY87#scrollTo=Uggdo35ruZsJ&printMode=true 7/8
5/21/22, 11:11 PM 19012021014_Jay Patel_DSML_Practical-6.ipynb - Colaboratory
https://colab.research.google.com/drive/1UqniYmaPRC08QOjO1S3F-CC-IuqlWY87#scrollTo=Uggdo35ruZsJ&printMode=true 8/8