泰坦尼克号乘客生还预测
时间: 2025-06-12 11:10:29 浏览: 9
### 泰坦尼克号乘客生还预测的机器学习与数据分析方法
#### 数据准备与预处理
在进行泰坦尼克号乘客生还预测之前,数据准备是一个至关重要的环节。这包括加载原始数据、清理缺失值、转换类别变量以及标准化数值特征等操作[^1]。例如,在数据集中,“Age”字段可能存在缺失值,可以通过均值填充或者插补的方法解决;而像“Sex”这样的类别变量,则可以使用独热编码(One-Hot Encoding)将其转化为适合模型输入的形式。
```python
import pandas as pd
from sklearn.preprocessing import OneHotEncoder, StandardScaler
# 加载数据
data = pd.read_csv('titanic.csv')
# 处理缺失值
data['Age'].fillna(data['Age'].mean(), inplace=True)
# 转换类别变量
encoder = OneHotEncoder()
encoded_sex = encoder.fit_transform(data[['Sex']]).toarray()
# 特征缩放
scaler = StandardScaler()
scaled_age = scaler.fit_transform(data[['Age']])
```
#### 划分训练集与测试集
为了验证模型性能,通常需要将数据划分为训练集和测试集。这样可以在未见过的数据上评估模型的效果。一般推荐按照80%-20%的比例分割数据,并确保目标标签分布均匀[^3]。
```python
from sklearn.model_selection import train_test_split
X = data.drop('Survived', axis=1)
y = data['Survived']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y)
```
#### 模型构建与训练
针对此任务,可以选择多种分类算法进行建模,比如逻辑回归、支持向量机、决策树或随机森林等。每种算法都有其特点,因此可以根据具体需求选择合适的模型[^4]。
以下是基于逻辑回归的一个简单实现:
```python
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
predictions = model.predict(X_test)
accuracy = accuracy_score(y_test, predictions)
print(f'Accuracy: {accuracy:.2f}')
```
如果希望进一步提升效果,还可以尝试集成方法如随机森林,并调整超参数以优化表现[^2]。
```python
from sklearn.ensemble import RandomForestClassifier
rf_model = RandomForestClassifier(n_estimators=100, random_state=42)
rf_model.fit(X_train, y_train)
rf_predictions = rf_model.predict(X_test)
rf_accuracy = accuracy_score(y_test, rf_predictions)
print(f'Random Forest Accuracy: {rf_accuracy:.2f}')
```
#### 结果评估与解释
完成模型训练之后,除了计算准确率外,还可以借助其他指标如精确度(Precision)、召回率(Recall)、F1分数(F1-Score),甚至绘制ROC曲线等方式全面衡量模型质量[^4]。
---
阅读全文
相关推荐


















