泰坦尼克号幸存者预测 贝叶斯
时间: 2024-12-30 11:29:16 浏览: 104
### 使用贝叶斯方法进行泰坦尼克号幸存者预测
#### 加载并预处理数据
为了使用贝叶斯分类器来进行泰坦尼克号幸存者的预测,首先需要准备数据。这包括加载数据集、清理缺失值以及转换类别型变量。
```python
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score
# 假设已经下载了 Titanic 数据集到本地文件 'titanic.csv'
data = pd.read_csv('titanic.csv')
# 清洗数据:删除无关列和含有大量缺失值的列;填充剩余少量缺失值
data.drop(['Cabin', 'Ticket'], axis=1, inplace=True)
data['Age'].fillna(data['Age'].median(), inplace=True)
# 转换性别和其他字符串类型的特征为数值形式
label_encoders = {}
for column in ['Sex', 'Embarked']:
le = LabelEncoder()
data[column] = le.fit_transform(data[column].astype(str))
label_encoders[column] = le
X = data.drop('Survived', axis=1).values
Y = data['Survived'].values
# 划分训练集与测试集
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)
```
#### 构建并训练模型
接下来构建高斯朴素贝叶斯分类器,并利用上述划分好的训练集对其进行拟合:
```python
gaussian = GaussianNB()
gaussian.fit(X_train, Y_train)
```
#### 预测及性能评估
完成模型训练之后就可以基于测试集做出预测,并计算准确率等指标来衡量模型的表现:
```python
Y_pred = gaussian.predict(X_test)
acc_gaussian = round(accuracy_score(Y_test, Y_pred) * 100, 2)
print(f'Accuracy of Naive Bayes Classifier on testing set: {acc_gaussian}%')
```
此过程展示了如何应用朴素贝叶斯分类器于泰坦尼克号生存状况预测任务上[^3]。值得注意的是,在实际操作过程中还需要进一步探索更多特征工程技巧以提升最终效果。
阅读全文
相关推荐


















