泰坦尼克号幸存者贝叶斯预测
时间: 2025-01-09 18:59:56 浏览: 375
### 使用贝叶斯方法预测泰坦尼克号幸存者
为了使用贝叶斯分类器来预测泰坦尼克号上的乘客是否能够存活,可以采用朴素贝叶斯模型。该模型基于贝叶斯定理并假设特征之间相互独立。
#### 数据预处理
数据集中的缺失值需要被填充或删除;类别型变量应当转换成数值形式以便于计算。对于年龄这样的连续属性可能还需要分箱处理以适应离散化的先验概率估计需求[^1]。
```python
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder, StandardScaler
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score
# 加载数据
data = pd.read_csv('titanic.csv')
# 填充缺失值
data['Age'].fillna(data['Age'].median(), inplace=True)
# 编码性别列
le_sex = LabelEncoder()
data['Sex'] = le_sex.fit_transform(data['Sex'])
# 特征选择
features = ['Pclass', 'Sex', 'Age']
X = data[features]
y = data['Survived']
# 划分训练集测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
```
#### 构建与评估模型
创建高斯朴素贝叶斯实例,并用其拟合训练样本。之后可以通过交叉验证等方式进一步调整参数提高性能表现。
```python
gnb = GaussianNB()
# 训练模型
gnb.fit(X_train, y_train)
# 预测结果
predictions = gnb.predict(X_test)
print(f'Accuracy: {accuracy_score(y_test, predictions):.3f}')
```
上述代码实现了简单的泰坦尼克号生存率预测过程,在实际操作中还可以考虑加入更多影响因素如船舱等级(Pclass),家庭成员数量(SibSp 和 Parch)等作为额外输入特性以提升准确性。
阅读全文
相关推荐


















