Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
afnan47
GitHub Repository: afnan47/sem7
Path: blob/main/ML/5. KNN on Diabetes/KNN_on_Diabetes.ipynb
442 views
Kernel: Python 3.8.6 64-bit

Implement K-Nearest Neighbors algorithm on diabetes.csv dataset. Compute confusion matrix, accuracy, error rate, precision and recall on the given dataset

import numpy as np import pandas as pd
data = pd.read_csv('./diabetes.csv') data.head()
#Check for null or missing values data.isnull().sum()
Pregnancies 0 Glucose 0 BloodPressure 0 SkinThickness 0 Insulin 0 BMI 0 Pedigree 0 Age 0 Outcome 0 dtype: int64
#Replace zero values with mean values for column in data.columns[1:-3]: data[column].replace(0, np.NaN, inplace = True) data[column].fillna(round(data[column].mean(skipna=True)), inplace = True) data.head(10)
X = data.iloc[:, :8] #Features Y = data.iloc[:, 8:] #Predictor
#Perform Spliting 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)
#KNN from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier() knn_fit = knn.fit(X_train, Y_train.values.ravel()) knn_pred = knn_fit.predict(X_test)
from sklearn.metrics import confusion_matrix, precision_score, recall_score, f1_score, accuracy_score print("Confusion Matrix") print(confusion_matrix(Y_test, knn_pred)) print("Accuracy Score:", accuracy_score(Y_test, knn_pred)) print("Reacal Score:", recall_score(Y_test, knn_pred)) print("F1 Score:", f1_score(Y_test, knn_pred)) print("Precision Score:",precision_score(Y_test, knn_pred))
Confusion Matrix [[88 19] [19 28]] Accuracy Score: 0.7532467532467533 Reacal Score: 0.5957446808510638 F1 Score: 0.5957446808510638 Precision Score: 0.5957446808510638