In [1]:
import numpy as np
import pandas as pd
In [2]:
data = pd.read_csv('Churn_Modelling.csv')
In [3]:
data.head()
Out[3]:
In [4]:
x = data.iloc[:,3:13].values
y = data.iloc[:,13].values
In [5]:
from sklearn.preprocessing import LabelEncoder,OneHotEncoder,StandardScaler
In [6]:
labelencoder1 = LabelEncoder()
labelencoder2 = LabelEncoder()
In [7]:
x[:, 1] = labelencoder1.fit_transform(x[:, 1])
x[:, 2]=labelencoder2.fit_transform(x[:,2])
onehotencoder = OneHotEncoder(categorical_features = [1])
x = onehotencoder.fit_transform(x).toarray()
x = x[:, 1:]
In [8]:
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.15,random_state = 0)
sc = StandardScaler()
In [11]:
x_train = sc.fit_transform(x_train)
x_test = sc.transform(x_test)
In [12]:
from keras.models import Sequential
from keras.layers import Dense
In [13]:
classifier = Sequential()
In [14]:
classifier.add(Dense(units = 6 , kernel_initializer='uniform',activation='relu',input_dim=11))
classifier.add(Dense(units = 6 , kernel_initializer='uniform',activation='relu'))
classifier.add(Dense(units = 1 , kernel_initializer='uniform',activation='sigmoid'))
In [15]:
classifier.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
In [16]:
classifier.fit(x_train,y_train,batch_size = 10,epochs=100)
Out[16]:
In [17]:
y_pred = classifier.predict(x_test)
In [18]:
y_pred
Out[18]:
In [19]:
y_predstat = y_pred>0.5
In [20]:
from sklearn.metrics import confusion_matrix,accuracy_score
In [21]:
confusion_matrix(y_test,y_predstat)
Out[21]:
In [23]:
accuracy_score(y_test,y_predstat)
Out[23]: