knn=KNeighborsClassifier()
svc=SVC()
lr=LogisticRegression()
dt=DecisionTreeClassifier()
gnb=GaussianNB()
rfc=RandomForestClassifier()
xgb=XGBClassifier()
gbc=GradientBoostingClassifier()
ada=AdaBoostClassifier()
-------------------------------------------------------------------
models=[]
models.append(('KNeighborsClassifier',knn))
models.append(('SVC',svc))
models.append(('LogisticRegression',lr))
models.append(('DecisionTreeClassifier',dt))
models.append(('GaussianNB',gnb))
models.append(('RandomForestClassifier',rfc))
models.append(('XGBClassifier',xgb))
--------------------------------------------------------------------
from sklearn.metrics import classification_report,confusion_matrix,accuracy_score,roc_curve,auc,recall_score
--------------------------------------------------------------------
Model=[]
score=[]
cv=[]
rocscore=[]
recall=[]
for name,model in models:
print('*****************',name,'*******************')
print('\n')
Model.append(name)
model.fit(x_train,y_train)
print(model)
pre=model.predict(x_test)
print('\n')
AS=accuracy_score(y_test,pre)
print('Accuracy_score -',AS)
score.append(AS*100)
print('\n')
sc=cross_val_score(model,x,y,cv=10,scoring='accuracy').mean()
print('cross_val_score -',sc)
cv.append(sc*100)
print('\n')
fpr,tpr,threshold=roc_curve(y_test,pre)
roc_auc=auc(fpr,tpr)
print('roc_auc_score -',roc_auc)
rocscore.append(roc_auc*100)
print('\n')
re=recall_score(y_test,pre)
print('Recall_score -',re)
recall.append(re*100)
print('\n')
print('classification report\n',classification_report(y_test,pre))
print('\n')
cm=confusion_matrix(y_test,pre)
print(cm)
print('\n')
plt.figure(figsize=(10,40))
plt.subplot(911)
plt.title(name)
print(sns.heatmap(cm,annot=True))
plt.subplot(912)
plt.title(name)
plt.plot(fpr,tpr,label='Auc = ' +str(roc_auc))
plt.plot([0,1],[0,1],'r--')
plt.legend(loc='lower right')
plt.ylabel('True Positive Rate')
plt.xlabel('False Positive Rate')
print('\n\n')
---------------------------------------------------------------------------
result=pd.DataFrame({'Model':Model,'Accuracy_score':score,'Recall_score':recall,'Cross_val_score':cv,'Roc_auc_curve':rocscore})
result