import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.naive_bayes import GaussianNB
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report, roc_curve,auc
df=pd.read_csv("pima-indians-diabetes.data.csv")
df.head()
columns=['Pregnancies', 'Glucose', 'BloodPressure', 'SkinThickness',
         'Insulin', 'BMI', 'DiabetesPedigreeFunction', 'Age', 'Outcome']
df=pd.read_csv("pima-indians-diabetes.data.csv",names=columns)
df.head()
df.isnull().sum()
X=df.drop('Outcome',axis=1)
y=df['Outcome']
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)
scaler=StandardScaler()
X_train_scaled=scaler.fit_transform(X_train)
X_test_scaled=scaler.fit(X_test)
model=LogisticRegression()
model.fit(X_train_scaled,y_train)
y_pred=model.predict(X_test)
y_pred
print("Accuracy\n",accuracy_score(y_test,y_pred))
print("Confusion matrix\n",confusion_matrix(y_test,y_pred))
print("Classification report\n",classification_report(y_test,y_pred))
y_prob=model.predict_proba(X_test)[:,1]
y_prob
fpr,tpr,_=roc_curve(y_test,y_prob)
roc_auc=auc(fpr,tpr)
plt.plot(fpr,tpr,label='Logistic Regression')
plt.xlabel('FPR')
plt.ylabel('TPR')
plt.show()
nb=GaussianNB()
nb.fit(X_train_scaled,y_train)
y_pred=nb.predict(X_test)
y_pred
print("Accuracy\n",accuracy_score(y_test,y_pred))
print("Accuracy\n",confusion_matrix(y_test,y_pred))
print("Accuracy\n",classification_report(y_test,y_pred))
y_prob=nb.predict_proba(X_test)[:,1]
y_prob
fpr,tpr,_=roc_curve(y_test,y_prob)
roc_auc=auc(fpr,tpr)
plt.plot(fpr,tpr,label='Naive Bayes')
plt.title('Roc curve')
plt.xlabel('FPR')
plt.ylabel('TPR')
plt.show()
