Titanic 模型評估
阿新 • • 發佈:2019-01-10
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