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

Titanic旅客生存概率预测模型相关信息可从以下方面获取: - 在TensorFlow中,可进行Titanic乘客生存概率预测。通过`model.predict(test_x)`得到预测生存概率`pred`,之后将预测结果保存为CSV文件。例如,将预测是否存活的结果保存为`titanic_survived_predictions.csv`,代码如下: ```python import tensorflow as tf import pandas as pd import numpy as np pred = model.predict(test_x) result = pd.DataFrame({'PassengerId':np.arange(892,892+418), 'Survived':tf.where(pred>0.5,1,0).numpy().reshape(-1)}) result.to_csv("titanic_survived_predictions.csv", index=False) ``` 还可将预测的生存概率保存为`titanic_psurvived_predictions.csv`,代码如下: ```python result = pd.DataFrame({'PassengerId':np.arange(892,892+418), 'Survived':pred.reshape(-1)}) result.to_csv("titanic_psurvived_predictions.csv", index=False) ``` 最后可将结果上传到Kaggle进行得分评估 [^1]。 - 在tensorflow2.0的应用中,可利用模型进行探索。比如找出模型预测生存概率大于90%但实际没有存活下来的旅客信息,代码为`all_passenger_pd[(all_passenger_pd['survived']==0)&(all_passenger_pd['surv_probability']>0.9)]`。还能分析Allison一家的情况,该家族4口人在泰坦尼克号上,对应数据集的行号是1 - 4号,可通过`all_passenger_pd[1:5]`查看相关信息 [^2]。 - 在Python机器学习实践里,有对Titanic乘客生存预测模型进行分析的例子。通过循环遍历测试数据,使用`dtrain.classify2(mytree, a_test)`进行分类预测,并统计预测错误的数量,进而计算错误率,代码如下: ```python RCount = 0 asum = 0 for i in range(len(dataTest)): a_test = dataTest.ix[i] r_p = dtrain.classify2(mytree, a_test) if r_p != dataTest.ix[i, 'Survived']: RCount += 1 asum += 1 errorT = RCount/float(891) print(errorT) ``` [^3]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值