-- coding: utf-8 --

' Created on Sun May 28 21:55:42 2023

@author: y1453 '

#数据预处理 import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.metrics import roc_auc_score, classification_report,confusion_matrix train=pd.read_csv('train.csv') test=pd.read_csv('test.csv') train.drop(columns=['ID','Region_Code'],inplace=True) train['Credit_Product'].fillna(method='ffill',inplace=True) train.isnull().sum().sum() train['Avg_Account_Balance']=np.log(train['Avg_Account_Balance']) train = pd.get_dummies(train.drop('Is_Active', axis=1), drop_first=True)

test=pd.read_csv('test.csv') test.drop(columns=['ID','Region_Code'],inplace=True) test['Credit_Product'].fillna(method='ffill',inplace=True) test.isnull().sum().sum() test['Avg_Account_Balance']=np.log(test['Avg_Account_Balance']) test = pd.get_dummies(test.drop('Is_Active', axis=1), drop_first=True)

x=train.drop('Is_Lead',axis=1) y=train['Is_Lead'] x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=0) ##########################逻辑回归########################## print('**************************************************') print('Results for model : Logistic Regression ') from sklearn.linear_model import LogisticRegression loc = LogisticRegression(solver='liblinear') loc.fit(x_train, y_train) y_train_pred = loc.predict(x_train) y_train_prob = loc.predict_proba(x_train)[:, 1] print('ROC score for train is :', roc_auc_score(y_train, y_train_prob)) print('Classification report for train: ') print(classification_report(y_train, y_train_pred)) print(confusion_matrix(y_train, y_train_pred)) y_test_pred = loc.predict(x_test) y_test_prob = loc.predict_proba(x_test)[:, 1] print('ROC score for test is :', roc_auc_score(y_test, y_test_prob)) print('Classification report for test : ') print(classification_report(y_test, y_test_pred)) print(confusion_matrix(y_test, y_test_pred))

##########################随机森林########################## print('**************************************************') print('Results for model : Random Forest') from sklearn.ensemble import RandomForestClassifier rfc = RandomForestClassifier() rfc.fit(x_train, y_train) y_train_pred = loc.predict(x_train) y_train_prob = loc.predict_proba(x_train)[:, 1] print('ROC score for train is :', roc_auc_score(y_train, y_train_prob)) print('Classification report for train: ') print(classification_report(y_train, y_train_pred)) print(confusion_matrix(y_train, y_train_pred)) y_test_pred = rfc.predict(x_test) y_test_prob = rfc.predict_proba(x_test)[:, 1] print('ROC score for test is :', roc_auc_score(y_test, y_test_prob)) print('Classification report for test : ') print(classification_report(y_test, y_test_pred)) print(confusion_matrix(y_test, y_test_pred))

##########################XGboost########################## print('**************************************************') print('Results for model : XGboost') import xgboost as xgb xg = xgb.XGBClassifier() xg.fit(x_train, y_train) y_train_pred = loc.predict(x_train) y_train_prob = loc.predict_proba(x_train)[:, 1] print('ROC score for train is :', roc_auc_score(y_train, y_train_prob)) print('Classification report for train: ') print(classification_report(y_train, y_train_pred)) print(confusion_matrix(y_train, y_train_pred)) y_test_pred = xg.predict(x_test) y_test_prob = xg.predict_proba(x_test)[:, 1] print('ROC score for test is :', roc_auc_score(y_test, y_test_prob)) print('Classification report for test : ') print(classification_report(y_test, y_test_pred)) print(confusion_matrix(y_test, y_test_pred))

############################tree############################# print('****************************************************') print('Results for model : tree') from sklearn import tree tree=tree.DecisionTreeClassifier(criterion='entropy') tree.fit(x_train,y_train) y_train_pred = tree.predict(x_train) y_train_prob = tree.predict_proba(x_train)[:, 1] print('ROC score for train is :', roc_auc_score(y_train, y_train_prob)) print('Classification report for train: ') print(classification_report(y_train, y_train_pred)) print(confusion_matrix(y_train, y_train_pred)) y_test_pred = tree.predict(x_test) y_test_prob = tree.predict_proba(x_test)[:, 1] print('ROC score for test is :', roc_auc_score(y_test, y_test_prob)) print('Classification report for test : ') print(classification_report(y_test, y_test_pred)) print(confusion_matrix(y_test, y_test_pred))

############################KNN############################### print('****************************************************') print('Results for model : KNN') from sklearn import neighbors KNN=neighbors.KNeighborsClassifier(n_neighbors=5) KNN.fit(x_train, y_train) y_train_pred = KNN.predict(x_train) y_train_prob = KNN.predict_proba(x_train)[:, 1] print('ROC score for train is :', roc_auc_score(y_train, y_train_prob)) print('Classification report for train: ') print(classification_report(y_train, y_train_pred)) print(confusion_matrix(y_train, y_train_pred)) y_test_pred = KNN.predict(x_test) y_test_prob = KNN.predict_proba(x_test)[:, 1] print('ROC score for test is :', roc_auc_score(y_test, y_test_prob)) print('Classification report for test : ') print(classification_report(y_test, y_test_pred)) print(confusion_matrix(y_test, y_test_pred))

############################NB############################### print('****************************************************') print('Results for model : NB') from sklearn import naive_bayes bayes=naive_bayes.GaussianNB() bayes.fit(x_train, y_train) y_train_pred = bayes.predict(x_train) y_train_prob = bayes.predict_proba(x_train)[:, 1] print('ROC score for train is :', roc_auc_score(y_train, y_train_prob)) print('Classification report for train: ') print(classification_report(y_train, y_train_pred)) print(confusion_matrix(y_train, y_train_pred)) y_test_pred = bayes.predict(x_test) y_test_prob = bayes.predict_proba(x_test)[:, 1] print('ROC score for test is :', roc_auc_score(y_test, y_test_prob)) print('Classification report for test : ') print(classification_report(y_test, y_test_pred)) print(confusion_matrix(y_test, y_test_pred))

##########################light gbm########################## print('****************************************************') print('Results for model : light bgm') import lightgbm as lgb lg = lgb.LGBMClassifier() lg.fit(x_train, y_train) print('ROC score for train is :', roc_auc_score(y_train, y_train_prob)) print('Classification report for train: ') print(classification_report(y_train, y_train_pred)) print(confusion_matrix(y_train, y_train_pred)) y_test_pred = lg.predict(x_test) y_test_prob = lg.predict_proba(x_test)[:, 1] print('ROC score for test is :', roc_auc_score(y_test, y_test_prob)) print('Classification report for test : ') print(classification_report(y_test, y_test_pred)) print(confusion_matrix(y_test, y_test_pred))

train_y_pred=lg.predict(x) test_y_pred=lg.predict(test)


原文地址: https://www.cveoy.top/t/topic/oqjk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录