Dataset Url
https://www.kaggle.com/datasets/shrutimechlearn/churn-modelling?resource=download
Code:
import numpy as np
import pandas as pd
df = pd.read_csv('./Churn_Modelling.csv')
print(df.shape)
df.head()
df.info()
df.duplicated().sum()
df['Exited'].value_counts()
df['Geography'].value_counts()
df['Gender'].value_counts()
df.drop(columns=['RowNumber','CustomerId','Surname'],inplace=True)
df.head()
df = pd.get_dummies(df,columns=['Geography','Gender'],drop_first=True)
X = df.drop(columns=['Exited'])
Y = df[['Exited']]
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=1)
from sklearn.preprocessing import StandardScaler
sclr = StandardScaler()
X_train_scaled = sclr.fit_transform(X_train)
X_test_scaled = sclr.transform(X_test)
import tensorflow
from tensorflow import keras
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense
model = Sequential()
model.add(Dense(11,activation='relu',input_dim=11))
model.add(Dense(11,activation='relu'))
model.add(Dense(1,activation='sigmoid'))
model.summary()
model.compile(loss='binary_crossentropy',optimizer='Adam',metrics=['accuracy'])
model.fit(X_train_scaled,Y_train,epochs=10)
print(model.layers[0].get_weights()) # weights
print(model.layers[1].get_weights()) # bias