import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import confusion_matrix, f1_score, precision_score, recall_score, accuracy_score, roc_curve, roc_auc_score
bankloan = pd.read_csv('BANK LOAN KNN.csv')
bankloan1 = bankloan.drop(['SN', 'AGE'], axis=1)
bankloan1.head()
bankloan1.shape
X = bankloan1.loc[:, bankloan1.columns != 'DEFAULTER']
y = bankloan1.loc[:, 'DEFAULTER']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=999)
scaler = StandardScaler()
scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
X_train
KNNclassifier=KNeighborsClassifier(n_neighbors=int(np.sqrt(len(X)).round()))
KNNclassifier.fit(X_train, y_train)
y_pred = KNNclassifier.predict(X_test)
confusion_matrix(y_test, y_pred, labels = [0,1])
accuracy_score(y_test, y_pred)
precision_score(y_test, y_pred)
recall_score(y_test, y_pred)
