from sklearn.metrics import confusion_matrix, accuracy_score, precision_score, recall_score, f1_score, roc_curve, auc
# 混淆矩阵 confusion-matrix
confusion_matrix = confusion_matrix(test_y, predict_y)
# 分类准确率 accuracy
accuracy = accuracy_score(test_y, predict_y)
# 精确率Precision
precision = precision_score(test_y, predict_y)
# 召回率 recall
recall = recall_score(test_y, predict_y)
# F1值
f1 = f1_score(test_y, predict_y)
# score
log_acc = model.score(test_X,test_y) #model指代你所用到模型,比如model.fit(train_X, train_y)
probs_y = model.predict_proba(test_X)[:,1] #模型的预测得分
fpr, tpr, thresholds = roc_curve(test_y,probs_y)
roc_auc = auc(fpr, tpr) #auc为Roc曲线下的面积
#开始画ROC曲线
plt.plot(fpr, tpr, 'b',label='AUC = %0.2f'% roc_auc)
plt.legend(loc='lower right')
plt.plot([0,1],[0,1],'r--')
plt.xlim([-0.1,1.1])
plt.ylim([-0.1,1.1])
plt.xlabel('False Positive Rate') #横坐标是fpr
plt.ylabel('True Positive Rate') #纵坐标是tpr
plt.title('Receiver operating characteristic example')
plt.show()