Titanic 模型评估

1.逻辑回归

#evaluate logisitic model
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=2018)
clf.fit(X_train, Y_train)
Y_train_pred = clf.predict(X_train)
Y_test_pred = clf.predict(X_test)
print('训练集准确率:', accuracy_score(Y_train, Y_train_pred), '测试集准确率', accuracy_score(Y_test, Y_test_pred))
print('训练集精确率:', precision_score(Y_train, Y_train_pred, average='binary'), '测试集精确率', precision_score(Y_test, Y_test_pred, average='binary'))
print('训练集召回率:', recall_score(Y_train, Y_train_pred, average='binary'), '测试集召回率', recall_score(Y_test, Y_test_pred, average='binary'))
print('训练集F1-score:', f1_score(Y_train, Y_train_pred), '测试集F1-score', f1_score(Y_test, Y_test_pred))
fpr, tpr, _ = roc_curve(Y_train, clf.predict_proba(X_train)[:, 1])
roc_auc = auc(fpr, tpr)
plt.figure()
plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], 'k--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('train ROC Curve')
plt.legend(loc="lower right")
plt.show()

fpr, tpr, _ = roc_curve(Y_test, clf.predict_proba(X_test)[:, 1])
roc_auc = auc(fpr, tpr)
plt.figure()
plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], 'k--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('test ROC Curve')
plt.legend(loc="lower right")
plt.show()

Titanic 模型评估

Titanic 模型评估Titanic 模型评估

2.支持向量机

Titanic 模型评估

Titanic 模型评估Titanic 模型评估

3.决策树

Titanic 模型评估

Titanic 模型评估Titanic 模型评估

4.随机森林

Titanic 模型评估

Titanic 模型评估Titanic 模型评估

5.xgboost

Titanic 模型评估

Titanic 模型评估Titanic 模型评估