怎么使用Python进行泰坦尼克号幸存者的数据分析和预测

发布时间:2023-05-08 11:29:06 作者:iii
来源:亿速云 阅读:172

怎么使用Python进行泰坦尼克号幸存者的数据分析和预测

泰坦尼克号数据集是机器学习领域中最著名的数据集之一,它包含了泰坦尼克号上乘客的信息以及他们是否幸存。通过Python,我们可以对这个数据集进行深入的分析,并构建预测模型来预测乘客的幸存情况。本文将介绍如何使用Python进行泰坦尼克号幸存者的数据分析和预测。

1. 数据准备

首先,我们需要加载泰坦尼克号数据集。这个数据集通常可以从Kaggle或其他数据科学资源网站获取。数据集通常包含以下字段:

我们可以使用pandas库来加载和查看数据:

import pandas as pd

# 加载数据集
url = "https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv"
df = pd.read_csv(url)

# 查看前几行数据
df.head()

2. 数据清洗

在进行分析之前,我们需要对数据进行清洗。数据清洗通常包括处理缺失值、去除无关特征、转换数据类型等。

2.1 处理缺失值

我们可以使用isnull()函数来查看数据集中是否有缺失值:

df.isnull().sum()

常见的处理缺失值的方法包括删除含有缺失值的行、填充缺失值等。例如,我们可以用中位数填充Age列的缺失值,用众数填充Embarked列的缺失值:

# 用中位数填充Age列的缺失值
df['Age'].fillna(df['Age'].median(), inplace=True)

# 用众数填充Embarked列的缺失值
df['Embarked'].fillna(df['Embarked'].mode()[0], inplace=True)

2.2 去除无关特征

有些特征可能对预测幸存者没有帮助,例如PassengerIdNameTicketCabin。我们可以将这些特征从数据集中删除:

df.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1, inplace=True)

2.3 转换数据类型

有些特征需要转换为数值类型,以便于模型处理。例如,我们可以将Sex列转换为数值类型(0 = 男性,1 = 女性),并将Embarked列进行独热编码:

# 将Sex列转换为数值类型
df['Sex'] = df['Sex'].map({'male': 0, 'female': 1})

# 对Embarked列进行独热编码
df = pd.get_dummies(df, columns=['Embarked'], drop_first=True)

3. 数据分析

在数据清洗之后,我们可以对数据进行一些基本的分析,以了解数据的分布和特征之间的关系。

3.1 幸存者比例

我们可以计算幸存者的比例:

survived_ratio = df['Survived'].mean()
print(f"幸存者比例: {survived_ratio:.2%}")

3.2 不同舱位的幸存率

我们可以按舱位等级分组,计算每个舱位的幸存率:

survived_by_class = df.groupby('Pclass')['Survived'].mean()
print(survived_by_class)

3.3 年龄与幸存率的关系

我们可以绘制年龄与幸存率的关系图:

import seaborn as sns
import matplotlib.pyplot as plt

sns.boxplot(x='Survived', y='Age', data=df)
plt.title('年龄与幸存率的关系')
plt.show()

4. 构建预测模型

在完成数据分析后,我们可以构建一个机器学习模型来预测乘客的幸存情况。常用的模型包括逻辑回归、随机森林、支持向量机等。

4.1 划分训练集和测试集

首先,我们需要将数据集划分为训练集和测试集:

from sklearn.model_selection import train_test_split

# 特征和目标变量
X = df.drop('Survived', axis=1)
y = df['Survived']

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

4.2 训练模型

我们可以使用逻辑回归模型进行训练:

from sklearn.linear_model import LogisticRegression

# 初始化模型
model = LogisticRegression()

# 训练模型
model.fit(X_train, y_train)

4.3 评估模型

我们可以使用准确率、混淆矩阵等指标来评估模型的性能:

from sklearn.metrics import accuracy_score, confusion_matrix

# 预测测试集
y_pred = model.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率: {accuracy:.2%}")

# 混淆矩阵
conf_matrix = confusion_matrix(y_test, y_pred)
print("混淆矩阵:")
print(conf_matrix)

5. 结论

通过本文的介绍,我们学习了如何使用Python对泰坦尼克号数据集进行数据清洗、分析和预测。我们使用逻辑回归模型对乘客的幸存情况进行了预测,并评估了模型的性能。当然,这只是数据分析的一个简单示例,实际应用中还可以尝试更多的特征工程和模型调优方法,以提高预测的准确性。

希望本文对你理解如何使用Python进行数据分析和预测有所帮助!

推荐阅读:
  1. ubuntu定时执行python脚本怎么写
  2. ubuntu如何升级python版本号

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:在MacOS中怎么将Python3设为默认解释器

下一篇:十行Python代码能实现哪些功能

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》