泰坦尼克号幸存者数据分析
泰坦尼克号幸存者数据分析
- 1、泰坦尼克号数据集
- 2、数据集加载与概览
- 3、泰坦尼克号幸存者数据分析
- 4、哪些人可能成为幸存者?
1、泰坦尼克号数据集
泰坦尼克号的沉没是世界上最严重的海难事故之一,造成了大量的人员伤亡。这是一艘号称当时世界上最大的邮轮,船上的人年龄各异,背景不同,有贵族豪门,也有平民旅人,邮轮撞击冰山后,船上的人马上采取措施安排救生艇转移人员,从本次海难中存活下来的,也就是幸存者
泰坦尼克号数据集为1912年泰坦尼克号沉船事件中相关人员的个人信息以及存活状况。包含了2224名乘客和船员的姓名、性别、年龄、船票等级、船票价格、船舱号、登船港口、生存情况等信息。这些历史数据已经被分为训练集和测试集,我们可以根据训练集训练出合适的模型并预测测试集中的存活状况
数据集来源:https://www.kaggle.com/c/titanic
数据集下载:传送门
数据集各文件介绍:
gender_submission.csv
:乘客编号与是否幸存记录train.csv
:训练集test.csv
:测试集
数据集(训练集和测试集)的属性信息(11特征+1标签)如下:
特征/标签 | 说明 |
---|---|
PassengerId | 乘客编号 |
Survived | 是否幸存,1是0否 |
Pclass | 船舱等级,1(一等)、2(二等)、3(三等) |
Name | 乘客姓名 |
Sex | 乘客性别 |
Age | 乘客年龄 |
SibSp | 与乘客同行的兄弟姐妹及配偶人数 |
Parch | 与乘客同行的父母及子女人数 |
Ticket | 船票编号 |
Fare | 船票价格 |
Cabin | 乘客座位号 |
Embarked | 乘客登船码头,C(Cherbourg)、Q(Queenstown)、S(Southampton) |
2、数据集加载与概览
1)加载数据集
import pandas as pd
import numpy as nppath = r"C:\Users\cc\Desktop\titanic_dataset\train.csv"
# 加载数据集
data = pd.read_csv(path, encoding='utf-8')
# 数据集前5行
print(data.head().to_string())
'''PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
'''
2)数据集大小
# 数据集的大小
print(data.shape) # (891, 12)
泰坦尼克号数据集(训练集)有891个样本,12个特征和标签
3)特征和标签
# 数据集的特征和标签
data.info()
结果如图所示:
泰坦尼克号数据集的特征和标签及对应数据类型如上图所示
4)数据缺失情况
# 数据集的缺失情况
print(data.isnull().sum())
结果如图所示:
从结果可见,泰坦尼克号数据集中的乘客年龄和乘客座位号有大量缺失
3、泰坦尼克号幸存者数据分析
问题提出: 哪些人可能成为幸存者?
在回答这个问题之前,我们先来看一下泰坦尼克号全员整体的获救比例
1)获救比例
# 获救人数占比
survive_ratio = data['Survived'].value_counts(normalize=True).reset_index()
print(survive_ratio)
# 幸存者占比:38.4%;遇难者占比:61.6%
结果如图所示:
结论1:泰坦尼克号幸存者仅占全员人数的38.4%
2)性别特征对获救率的影响
a、 男性乘客与女性乘客占比
# 男性乘客与女性乘客占比
mf_count = data['Sex'].value_counts().reset_index()
print(mf_count)
# 男性乘客:577人,女性乘客:314人
结果如图所示:
b、 男性乘客与女性乘客的获救率
# 男性乘客与女性乘客的获救率
mf_ratio = data['Survived'].groupby(data['Sex']).value_counts().reset_index()
# 合并
mf_data = pd.merge(mf_ratio, mf_count, how='left', on='Sex')
mf_data['rescue_ratio'] = mf_data['count_x'] / mf_data['count_y']
print(mf_data)
# 男性乘客获救比例:18.9%,女性乘客获救比例:74.2%
结果如图所示:
结论2:女性乘客总人数比男性少,但是获救人数却比男性乘客要多。性别特征对获救概率影响较大
3)船舱等级特征对获救率的影响
a、 各船舱等级乘客占比
# 各船舱等级乘客占比
pc_count = data['Pclass'].value_counts().reset_index()
print(pc_count)
# 一等:216人,二等:184人,三等:491人
结果如图所示:
b、 各船舱等级乘客的获救率
# 各船舱等级乘客的获救率
pc_ratio = data['Survived'].groupby(data['Pclass']).value_counts().reset_index()
# 合并
pc_data = pd.merge(pc_ratio, pc_count, how='left', on='Pclass')
pc_data['rescue_ratio'] = pc_data['count_x'] / pc_data['count_y']
print(pc_data)
# 一等获救比例:62.9%,二等获救比例:47.3%,三等获救比例:24.2%
结果如图所示:
结论3:一等船舱获救比例最高,三等船舱获救比例最低。船舱等级对于乘客的获救率存在较大的影响
4)各船舱等级中的性别特征对获救率的影响
a、 不同船舱等级的男女乘客人数
# 不同船舱等级的男女乘客人数
ps_count = data['Sex'].groupby(data['Pclass']).value_counts().reset_index()
print(ps_count)
# 一等:男122人,女94人,二等:男108人,女76人,三等:男347人,女144人
结果如图所示:
b、 不同等级船舱的男性乘客与女性乘客的获救率
# 不同等级船舱的男性乘客与女性乘客的获救率
ps_ratio = data['Survived'].groupby([data['Pclass'], data['Sex']]).value_counts().reset_index()
# 合并
ps_data = pd.merge(ps_ratio, ps_count, how='left', on=['Pclass', 'Sex'])
ps_data['rescue_ratio'] = ps_data['count_x'] / ps_data['count_y']
print(ps_data)
# 一等获救比例:男39.9%,女96.8%,二等获救比例:男 15.7%,女92.1%,三等获救比例:男13.5%,女50.0%
结果如图所示:
结论4:各等级船舱中男性乘客多于女性乘客,但是女性乘客的获救比例都高于男性乘客。不同等级船舱的女性乘客的获救率高于男性,这可能是女士优先的原因
4、哪些人可能成为幸存者?
根据上述分析结果,我们可以得到以下两个关于乘客获救率的结论:
- 在泰坦尼克号上,女性的获救率高于男性
- 高等级船舱的乘客获救率高于低等级船舱
另外,我们也可以从年龄等其他角度进行分析,有兴趣的小伙伴可以自行尝试
参考文章:https://zhuanlan.zhihu.com/p/129247887
相关文章:

泰坦尼克号幸存者数据分析
泰坦尼克号幸存者数据分析 1、泰坦尼克号数据集2、数据集加载与概览3、泰坦尼克号幸存者数据分析4、哪些人可能成为幸存者? 1、泰坦尼克号数据集 泰坦尼克号的沉没是世界上最严重的海难事故之一,造成了大量的人员伤亡。这是一艘号称当时世界上最大的邮轮…...

Memcached 教程之 PHP 连接 Memcached 服务(十)
PHP 连接 Memcached 服务 在前面章节中我们已经介绍了如何安装 Memcached 服务,接下来我们为大家介绍 PHP 如何使用 Memcached 服务。 PHP Memcache 扩展安装 PHP Memcache 扩展包下载地址:PECL :: Package :: memcache,你可以下载最新稳定…...

【zlm】音视频流与音频流合并的设计
目录 设想一 设想二 方案三 关键技术 测试语句 测试脚本 参考文档 设想一 //开始录制_option.mp4_save_path custom_path;_option.mp4_max_second max_second;vector<Track::Ptr> mytracks getTracks();auto src MediaSource::find( DEFAULT_VHOST, "1&quo…...
typescript的工作流
先coding code.ts代码,由tsc编译code.ts生成code.js格式 npm install —save-dev lite-server 是用来安装轻量级的服务器,只是用来开发的一个服务器,真正到生产环境中时可能会使用类似于Apache的server或者汤姆猫一类的服务器,安…...
MATLAB下载与安装详细教程:从官方获取到成功启动
引言 MATLAB(MATrix LABoratory)作为一款全球知名的高级数值计算与数据分析平台,以其强大的矩阵运算能力、丰富的内置函数库以及直观易用的图形用户界面,深受科研人员、工程师和学生群体的青睐。无论是进行复杂的数学建模、信号处…...

【随笔】Git 高级篇 -- 分离 HEAD(十一)
💌 所属专栏:【Git】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…...

mac、windows 电脑安装使用多个版本的node
我们为啥要安装多个不同版本的node? 开发旧项目时,使用低版本Nodejs。开发新项目时,需使用高版本Node.js。可使用n同时安装多个版本Node.js,并切换到指定版本Node.js。 mac电脑安装 一、全局安装 npm install -g n 二、mac电脑…...

vue 浅解watch cli computed props ref vue slot axios nexttick devtools说明使用
Vue.js 是一个强大的前端框架,它提供了很多有用的功能和工具。你提到的这些特性(watch、cli、computed、props、ref、slot、axios、nextTick、devtools)在 Vue 中各自扮演着不同的角色。下面我会逐一解释这些特性如何在 Vue 中使用࿱…...

Unity自定义框架(1)-----------单例模式
前言: Unity作为一款强大的游戏开发引擎,其基础框架的设计对于项目的结构和性能有着重要的影响。其中,单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。 什么是单例模式?…...

04-自媒体文章-自动审核
自媒体文章-自动审核 1)自媒体文章自动审核流程 1 自媒体端发布文章后,开始审核文章 2 审核的主要是审核文章的内容(文本内容和图片) 3 借助第三方提供的接口审核文本 4 借助第三方提供的接口审核图片,由于图片存储到minIO中&…...
LeetCode-热题100:763. 划分字母区间
题目描述 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。…...

IDEA2023创建SpringMVC项目
✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 开发环境篇 ✨特色专栏: M…...

ubuntu-server部署hive-part2-安装hadoop
参照 https://blog.csdn.net/qq_41946216/article/details/134345137 操作系统版本:ubuntu-server-22.04.3 虚拟机:virtualbox7.0 安装hadoop 下载上传 下载地址 https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/ 以root用…...
Python深度学习032:conda操作虚拟环境env的全部命令
文章目录 创建和管理环境环境列表和检查环境的保存与复制更新环境清理 CondaConda 是一个开源的包管理器和环境管理器,可以用于安装、运行和升级包和环境。 使用 Conda,你可以创建、导出、列出、删除和更新环境,这些环境可以包含不同版本的 Python 以及/或软件包。 下面列出…...

使用Java拓展本地开源大模型的网络搜索问答能力
背景 开源大模型通常不具备最新语料的问答能力。因此需要外部插件的拓展,目前主流的langChain框架已经集成了网络搜索的能力。但是作为一个倔强的Java程序员,还是想要用Java去实现。 注册SerpAPI Serpapi 提供了多种搜索引擎的搜索API接口。 访问 Ser…...

Mybatis——一对多关联映射
一对多关联映射 一对多关联映射有两种方式,都用到了collection元素 以购物网站中用户和订单之间的一对多关系为例 collection集合的嵌套结果映射 创建两个实体类和映射接口 package org.example.demo;import lombok.Data;import java.util.List;Data public cla…...
Pytorch实用教程:TensorDataset和DataLoader的介绍及用法示例
TensorDataset TensorDataset是PyTorch中torch.utils.data模块的一部分,它包装张量到一个数据集中,并允许对这些张量进行索引,以便能够以批量的方式加载它们。 当你有多个数据源(如特征和标签)时,TensorD…...

uni-app如何实现高性能
这篇文章主要讲解uni-app如何实现高性能的问题? 什么是uni-app? 简单说一下什么是uni-app,uni-app是继承自vue.js,对vue做了轻度定制,并且实现了完整的组件化开发,并且支持多端发布的一种架构,…...
docker 应用部署
参考:docker 构建nginx服务 环境 Redhat 9 步骤: 1、docker部署MySQL 安装yum 工具包 [rootadmin ~]# yum -y install yum-utils.noarch 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-…...
java.awt.FontFormatException: java.nio.BufferUnderflowException
Font awardFont Font.createFont(Font.TRUETYPE_FONT, awardFontFile).deriveFont(120f).deriveFont(Font.BOLD);使用如上语句创建字体时出现问题。java.awt.FontFormatException: java.nio.BufferUnderflowException异常表明在处理字体数据时出现了缓冲区下溢(Buf…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...

iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...