KNN
from sklearn.neighbors import KNeighborsClassifier
KNeighborsClassifier()
DT
from sklearn import tree, linear_model
tree.DecisionTreeClassifier()
Bagging
from sklearn.ensemble import BaggingClassifier
BaggingClassifier(KNeighborsClassifier())
XGboost
from xgboost import XGBClassifier
XGBClassifier()
RF
from sklearn.ensemble import RandomForestClassifier
RandomForestClassifier(n_estimators=100)
LightGBM
import lightgbm as lgb
lgb.LGBMClassifier(
boosting_type='gbdt', num_leaves=55, reg_alpha=0.0, reg_lambda=1,
max_depth=15, n_estimators=6000, objective='binary',
subsample=0.8, colsample_bytree=0.8, subsample_freq=1,
learning_rate=0.06, min_child_weight=1, random_state=20, n_jobs=4
)
clf= KNeighborsClassifier()
clf.fit(X_train, Y_train)
acc = clf.score(X_test, Y_test) # acc
y_pred = clf.predict(X_test)
X_ = np.round(np.array(y_pred).reshape(-1, 1))
m = metrics.confusion_matrix(Y_test, X_) # 混淆矩阵
metrics.precision_score(Y_test, y_pred) # precision
metrics.recall_score(Y_test, y_pred) # recall
metrics.f1_score(Y_test, y_pred) # F1-score
metrics.roc_auc_score(Y_test, y_pred) # AUC
# 画AUC 曲线
y_socre = clf.predict_proba(X_test)
fpr, tpr, threshold = metrics.roc_curve(Y_test, y_socre[:, 1])
roc_auc = metrics.auc(fpr, tpr)
plt.plot(fpr, tpr, label=str(name)+'= %0.3f' % roc_auc)
plt.legend(loc='lower right')
plt.plot([0, 1], [0, 1], 'r--')
plt.xlim([0, 1])
plt.ylim([0, 1])
plt.ylabel('True Positive Rate')
plt.xlabel('False Positive Rate')