基于python对泰坦尼克幸存者进行数据分析与预测
时间: 2024-09-26 19:03:54 浏览: 44
利用Python+matplotlib对泰坦尼克号进行数据分析
基于Python对泰坦尼克幸存者数据进行分析,通常涉及以下几个步骤:
1. 数据加载:首先使用pandas库中的`read_csv`函数从CSV文件中读取Titanic的数据集,如"titanic.csv"。
```python
import pandas as pd
data = pd.read_csv('titanic.csv')
```
2. 数据清洗:检查并处理缺失值、异常值以及非数值特征(例如乘客姓名)。可以使用`fillna`, `dropna`, 或者编码分类变量等方法。
```python
data.dropna(inplace=True) # 删除缺失值
data['Sex'] = data['Sex'].astype('category') # 将性别转换为类别类型
```
3. 探索性数据分析 (EDA):通过描述性统计和可视化了解各变量之间的关系,比如使用matplotlib或seaborn库绘制柱状图、散点图等。
```python
import matplotlib.pyplot as plt
sns.countplot(data['Survived']) # 绘制生存情况的柱状图
```
4. 特征工程:根据探索结果选择有意义的特征进行建模。例如,计算年龄组、创建家庭大小等新特征。
```python
data['AgeGroup'] = pd.cut(data['Age'], bins=5)
```
5. 分类模型建立:可以选择机器学习算法,如逻辑回归、决策树、随机森林或支持向量机(SVM),用于预测幸存率。
```python
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
X_train, X_test, y_train, y_test = train_test_split(data.drop('Survived', axis=1), data['Survived'])
model = LogisticRegression()
model.fit(X_train, y_train)
```
6. 模型评估:使用交叉验证(如`cross_val_score`)或在测试集上进行预测,并计算准确率、精确率、召回率等指标。
7. 预测:利用训练好的模型对新的未知数据进行预测。
```python
predictions = model.predict(X_test)
```
阅读全文