黑狐家游戏

深入挖掘泰坦尼克号数据,Python数据分析之旅,泰坦尼克号数据集分析r语言

欧气 0 0

本文目录导读:

  1. 数据集介绍
  2. 数据分析工具
  3. 数据分析过程

泰坦尼克号,这艘历史上最著名的邮轮,因1912年4月14日遭遇冰山撞击而沉没,导致1500多人丧生,时至今日,关于泰坦尼克号的研究仍在继续,其中泰坦尼克号数据集成为了研究的重要素材,本文将带领大家通过Python数据分析,深入了解泰坦尼克号乘客的生存状况、船票信息以及性别、年龄等因素对生存率的影响。

数据集介绍

泰坦尼克号数据集包含712个乘客的生存信息、船票信息以及乘客的基本信息,如年龄、性别、舱位等级等,数据集分为两部分:train.csv和test.csv,train.csv包含已知生存状态的乘客信息,test.csv包含未知生存状态的乘客信息。

数据分析工具

1、Python编程语言:Python是一种广泛应用的编程语言,具有简洁、易学、功能强大的特点,在数据分析领域有着广泛的应用。

2、Pandas库:Pandas是一个开源的数据分析工具,可以方便地进行数据处理、清洗和可视化。

深入挖掘泰坦尼克号数据,Python数据分析之旅,泰坦尼克号数据集分析r语言

图片来源于网络,如有侵权联系删除

3、Matplotlib库:Matplotlib是一个强大的绘图库,可以生成各种类型的图表,帮助展示数据分析结果。

4、Scikit-learn库:Scikit-learn是一个机器学习库,可以用于构建预测模型,分析乘客生存率。

数据分析过程

1、数据导入与清洗

使用Pandas库导入train.csv和test.csv数据集,对数据进行清洗,包括处理缺失值、去除重复数据等。

import pandas as pd
导入数据集
train_data = pd.read_csv('train.csv')
test_data = pd.read_csv('test.csv')
数据清洗
train_data = train_data.drop_duplicates()
test_data = test_data.drop_duplicates()
处理缺失值
train_data['Age'].fillna(train_data['Age'].mean(), inplace=True)
test_data['Age'].fillna(test_data['Age'].mean(), inplace=True)

2、数据可视化

使用Matplotlib库对数据进行可视化,观察不同特征与生存率的关系。

import matplotlib.pyplot as plt
绘制年龄与生存率的关系图
plt.figure(figsize=(10, 6))
plt.scatter(train_data['Age'], train_data['Survived'], c='blue', label='Survived')
plt.scatter(train_data[train_data['Survived'] == 0]['Age'], c='red', label='Died')
plt.xlabel('Age')
plt.ylabel('Survived')
plt.title('Age vs. Survival')
plt.legend()
plt.show()

3、特征工程

通过对数据集的分析,我们可以发现以下特征与生存率有关:

深入挖掘泰坦尼克号数据,Python数据分析之旅,泰坦尼克号数据集分析r语言

图片来源于网络,如有侵权联系删除

- 性别(Sex)

- 年龄(Age)

- 舱位等级(Pclass)

- 婚姻状况(SibSp)和(Parch)

我们对这些特征进行编码和预处理。

性别编码
train_data['Sex'] = train_data['Sex'].map({'male': 0, 'female': 1})
test_data['Sex'] = test_data['Sex'].map({'male': 0, 'female': 1})
年龄分组
bins = [0, 18, 35, 50, 65, 80]
labels = ['Child', 'Young', 'Adult', 'Middle-aged', 'Senior']
train_data['Age_group'] = pd.cut(train_data['Age'], bins=bins, labels=labels)
test_data['Age_group'] = pd.cut(test_data['Age'], bins=bins, labels=labels)
舱位等级编码
train_data['Pclass'] = train_data['Pclass'].map({1: 0, 2: 1, 3: 2})
test_data['Pclass'] = test_data['Pclass'].map({1: 0, 2: 1, 3: 2})
婚姻状况编码
train_data['Family_size'] = train_data['SibSp'] + train_data['Parch'] + 1
test_data['Family_size'] = test_data['SibSp'] + test_data['Parch'] + 1

4、模型训练与预测

使用Scikit-learn库中的逻辑回归模型对数据进行训练,预测乘客的生存率。

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
分割数据集
X = train_data[['Sex', 'Age_group', 'Pclass', 'Family_size']]
y = train_data['Survived']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
训练模型
model = LogisticRegression()
model.fit(X_train, y_train)
预测生存率
predictions = model.predict(test_data[['Sex', 'Age_group', 'Pclass', 'Family_size']])

5、结果分析

深入挖掘泰坦尼克号数据,Python数据分析之旅,泰坦尼克号数据集分析r语言

图片来源于网络,如有侵权联系删除

通过对模型的训练和预测,我们可以得出以下结论:

- 女性乘客的生存率高于男性乘客。

- 年轻乘客和中年乘客的生存率高于老年乘客。

- 舱位等级越高,生存率越高。

- 家庭成员越多,生存率越高。

这些结论有助于我们更好地了解泰坦尼克号乘客的生存状况,以及不同因素对生存率的影响。

本文通过Python数据分析,对泰坦尼克号数据集进行了深入挖掘,分析了乘客的生存状况、船票信息以及性别、年龄等因素对生存率的影响,通过可视化、特征工程和模型训练等方法,我们得出了有价值的结论,为后续研究提供了有益的参考,在今后的研究中,我们可以进一步探讨其他因素对生存率的影响,如乘客的职业、财富等。

标签: #泰坦尼克号数据集分析python

黑狐家游戏
  • 评论列表

留言评论