贝叶斯分类器 泰坦尼克 python
时间: 2024-12-30 07:33:22 浏览: 7
### 使用Python实现贝叶斯分类器处理泰坦尼克数据集
为了使用朴素贝叶斯分类器对泰坦尼克号数据集进行分析,可以按照以下方法操作:
#### 数据准备
加载并查看泰坦尼克号的数据集,确保理解其结构。
```python
import pandas as pd
# 加载数据集
data = pd.read_csv('titanic.csv')
# 查看前几行数据
print(data.head())
```
#### 预处理与特征工程
对于缺失值、类别型变量编码等问题需做适当处理。
```python
# 填充或删除缺失值
data['Age'].fillna(data['Age'].median(), inplace=True)
# 对性别列进行one-hot编码
data = pd.get_dummies(data, columns=['Sex'], drop_first=True)
```
#### 划分训练集和测试集
将数据分为训练集合验证集以便后续评估模型性能。
```python
from sklearn.model_selection import train_test_split
X = data.drop(['Survived', 'Name', 'Ticket', 'Cabin', 'Embarked'], 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)[^1]
```
#### 训练朴素贝叶斯分类器
利用`sklearn.naive_bayes.GaussianNB()`来创建高斯分布下的朴素贝叶斯分类器实例,并对其进行拟合。
```python
from sklearn.naive_bayes import GaussianNB
model = GaussianNB()
model.fit(X_train, y_train)[^3]
```
#### 模型评价
通过计算准确率等方式衡量所构建的分类器效果如何。
```python
from sklearn.metrics import accuracy_score
predictions = model.predict(X_test)
accuracy = accuracy_score(y_test, predictions)
print(f'Accuracy: {accuracy:.2f}')
```
阅读全文