1. 程式人生 > >Titanic 模型評估

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()

2.支援向量機

3.決策樹

4.隨機森林

5.xgboost