文章目录

  • 数据获取、结构分析
    • 如何获取seaborn提供数据源
    • 特征列分析
  • 缺失值与数据清洗
    • 年龄缺失值处理
    • 填充embarked
    • 删除不必要的列
  • 幸存者分析
    • 分析性别对存活率的影响
    • 分析年龄对存活率影响
    • 分析舱位等级与存活率影响

博文配套视频课程:24小时实现从零到AI人工智能


数据获取、结构分析

如何获取seaborn提供数据源

在python中基本所有的核心库都提供了自己的数据源,例如:seaborn、sklearn、tensorflow… 而且这些数据源基本都托管在github中,如果想了解获取数据原理,单击load_dataset源码就可以看到数据的下载地址

def load_dataset(name, cache=True, data_home=None, **kws):"""Load a dataset from the online repository (requires internet).Parameters----------name : strName of the dataset (`name`.csv onhttps://github.com/mwaskom/seaborn-data).  You can obtain list ofavailable datasets using :func:`get_dataset_names`cache : boolean, optionalIf True, then cache data locally and use the cache on subsequent callsdata_home : string, optionalThe directory in which to cache data. By default, uses ~/seaborn-data/kws : dict, optionalPassed to pandas.read_csv"""path = ("https://raw.githubusercontent.com/""mwaskom/seaborn-data/master/{}.csv")full_path = path.format(name)

通过github下载数据如下, 如果数据量比较大可以保存到本地的csv格式

titanic = sns.load_dataset("titanic")
print(titanic.head())
titanic.to_csv("../data/titanic.csv")
titanic = pd.read_csv("../data/titanic.csv")
titanic.info()
# 检查是否有缺失值
print(titanic.isnull().sum())

特征列分析

在此套课程中我们仅仅讲解关于特征列的清洗、数据分析、列的缺失、异常值处理等… 后续在机器学习课程中还会讲解到特征工程、PCA主特征分析等重要概念。

  • Survived: 生存情况,0代表不幸遇难,1代表存活;
  • Pclass: 仓位等级,1为一等舱,2为二等舱,3为三等舱;
  • Name: 乘客姓名;
  • Sex: 性别;
  • Age: 年龄;
  • SibSp: 乘客在船上的兄妹姐妹数/配偶数(即同代直系亲属数)
  • Parch: 乘客在船上的父母数/子女数(即不同代直系亲属数);
  • Ticket: 船票编号;
  • Fare: 船票价格;
  • Embarked: 登船港口 (S: Southampton; C: Cherbourg Q: Queenstown)
  • alive:活着
  • alone:单身

缺失值与数据清洗

年龄缺失值处理

sns.set_style("darkgrid")
print(titanic[titanic['age'].notnull()])
sns.distplot(a = titanic[titanic['age'].notnull()]['age'],hist=True,kde=True)
plt.show()
# 把年龄的缺失值填充为平均值
titanic['age'] = titanic['age'].fillna(titanic['age'].mean())
sns.distplot(titanic['age'])
plt.show()

填充embarked

print(titanic['embarked'].unique())
# 首先会对输入的列进行分组,然后对每一组进行统计(count),最后进行可视化 Plot
# sns.countplot(x=titanic['embarked'],data=titanic)
sns.countplot(y=titanic['embarked'],hue='sex',data=titanic)
plt.show()
# inplace=True: 则会修改操作的数据集
titanic['embarked'].fillna(value = 'S',inplace=True)
print(titanic.isnull().sum())

删除不必要的列

一般我们会把不重要的列,缺失值比较多的列删除掉。

titanic.drop(labels=['survived','pclass','sibsp','parch','who','adult_male','deck','embark_town'],axis=1,inplace=True)
print(titanic.head(n=5))
titanic.to_csv("../data/titanic2.csv",index=False)

幸存者分析

分析性别对存活率的影响

虽然男士体力较好,但是在这次海难中体现了绅士风度,把生存的机会留给了女士,所以性别对存活率影响比较大

# 1: 分析性别对存活率的影响,结论: 在事故中,女士优先,存活率高于男士
titanic = pd.read_csv("../data/titanic2.csv")
print(titanic.head(n=3))
sns.set_style("darkgrid")
sns.countplot(x="alive",hue='sex',data=titanic)
plt.show()

分析年龄对存活率影响

由于年龄是连续型的数据, 连续型数据不方便分组,因此建议编写一个函数让连续型数据转化为离散型数据

# 2: 分析年龄对存活率影响,结论: 年龄对存活率的影响没有明显的相关性
def agelevel(age):if age <=16:return "child" # 青年elif age >=60:return 'aged' # 老年else:return "midlife" # 中年print(agelevel)
titanic['age_level'] = titanic['age'].map(agelevel)
print(titanic.head(n=10))
sns.countplot(x="alive",hue='age_level',data=titanic)
plt.show()

分析舱位等级与存活率影响

# 3:分析舱位等级与存活率影响, 结论: vip一等舱存活率比较高
sns.countplot(x="alive",hue='class',data=titanic)
plt.show()

02_泰坦尼克号幸存者分析(上)相关推荐

  1. 泰坦尼克号python数据分析统计服_数据分析可视化——泰坦尼克号幸存者分析(上)...

    文章目录数据获取.结构分析如何获取seaborn提供数据源 特征列分析 缺失值与数据清洗年龄缺失值处理 填充embarked 删除不必要的列 幸存者分析分析性别对存活率的影响 分析年龄对存活率影响 分 ...

  2. SPSS Modeler泰坦尼克号幸存者分析

    数据来源:"Kaggle泰坦尼克号挑战杯"竞赛泰坦尼克号数据 PS:需要创建一个帐户才能访问数据. 下载的数据是.CSV格式 1. 数据介绍 数据集中共有12个字段,Passeng ...

  3. 03_泰坦尼克号幸存者分析(下)

    文章目录 箱盒图公式推导 箱盒图5个指标 数据列为奇数推导 偶数列推导 箱盒图与琴形图数据分析 箱盒图分析性别与年龄相关相关 琴形图分析 博文配套视频课程:24小时实现从零到AI人工智能 箱盒图公式推 ...

  4. Python数据挖掘项目:构建随机森林算法模型预测分析泰坦尼克号幸存者数据

    作者CSDN:进击的西西弗斯 本文链接:https://blog.csdn.net/qq_42216093/article/details/120196972 版权声明:本文为作者原创文章,未经作者同 ...

  5. Kaggle入门项目,泰坦尼克号幸存者

    泰坦尼克号幸存者项目是kaggle的入门项目,我先用python的matplotlib库对数据进行了可视化,初步探索后对数据进行了清洗,然后建立了逻辑回归模型对测试集进行了预测,kaggle得分是0. ...

  6. 【阅读笔记】使用决策树预测泰坦尼克号幸存者实例 - scikit-learn机器学习

    文章目录 使用决策树预测泰坦尼克号幸存者实例 一.数据获取 二.数据探索 数据质量分析(缺失值.异常值.一致性) 三.数据预处理 四.数据建模 五.优化模型参数 使用决策树预测泰坦尼克号幸存者实例 代 ...

  7. 特征工程实践:泰坦尼克号幸存者预测

    文章目录 泰坦尼克号幸存者预测 泰坦尼克号幸存者预测 数据集下载地址:https://www.kaggle.com/c/titanic/data . 本案例主要展示特征工程对数据集的处理方法,模型只选 ...

  8. 极简sklearn-使用决策树预测泰坦尼克号幸存者

    泰坦尼克号幸存者数据集是kaggle竞赛中入门级的数据集,今天我们就来用决策树来预测下哪些人会成为幸存者. 数据集下载地址: https://download.csdn.net/download/ti ...

  9. 1.决策树 实例:泰坦尼克号幸存者的预测

    决策树 文章目录 决策树 1.概述 1.1决策树是如何工作的 2 DecisionTreeClassififier与红酒数据集 2.1重要参数 2.1.1 criterion 2.1.2 random ...

最新文章

  1. 消灭Bug!推荐7款优秀的开源Bug跟踪工具
  2. 推荐一款超级好用的开源画图工具:用例图、架构图、时序图、类图、E-R图、甘特图
  3. UA MATH564 概率论 标准二元正态分布的性质
  4. imx6 LCD 参数配置(lvds为例)
  5. [转]如何在.NET MVC中使用jQuery并返回JSON数据
  6. 资源 | 忘了Python关键语句?这份备忘录拯救你的记忆
  7. 【技术帖】真正解决反恐精英csOL:StartService 0X204 为防御非法程序driver
  8. 计算机基础实验操作,实验一计算机基础操作 实验报告
  9. PRD文档详解(20191209)
  10. 在线数学函数画图工具 2D 3D
  11. Java connot reduce_hadoop错误:org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast t...
  12. 简述一代、二代、三代测序技术在应用上的区别
  13. 开一间煎饼果子店能挣多少钱?
  14. npm install很慢(奇葩)解决方法
  15. Pandas Task1
  16. php干啥,php是什么意思?php能干啥?
  17. 关于合格设计师的30条冷知识
  18. 2019/01/29 一位前端实习生 艰辛过程 励志 实习周记(五)——第六周
  19. [野火]EBF i.MX6ULL
  20. 西藏春运送服务 让旅客带着温暖出发

热门文章

  1. wifi-pumpkin/wifipumpkin3-2022-kali安装(源码编译)
  2. 使用预训练模型训练YOLOv3-Keras
  3. 软件工程 -- 状态转换图
  4. 67.Python修炼之路【72-前端-HTML列表】2018.06.28
  5. 关于抽烟、戒烟、或者说是收放自如
  6. 一生不可错过的世界50大美景[组图]
  7. 【搬家】VB.NET开发全功能串口调试助手
  8. 华为系列服务器账号密码,常用设备管理口默认用户名密码汇总
  9. Tensorflow2.6.0-MKL for C++
  10. 做一个最简单的上位机