Kaggle泰坦尼克号生存预测挑战——数据分析代码实现

本文是Kaggle泰坦尼克号生存预测挑战的分析部分,作者通过导入相关库,对数据进行概览,展示了数据的统计信息,并进行了探索性数据分析,包括数据概况、类别特征和缺失值情况。通过对年龄、票价、船舱和登船港口的分布分析,为后续的特征工程和模型建立奠定了基础。
摘要由CSDN通过智能技术生成

Kaggle泰坦尼克号生存预测挑战

这是kaggle上Getting Started 的Prediction
Competition,也是比较入门和简单的新人赛,我的最好成绩好像有进入top8%,重新地回顾巩固一下这个比赛,我将分成三个部分:

先修知识

  • numpy
  • pandas
  • matplotlib
  • seaborn
  • sklearn

**赛题地址:[ Titanic: Machine Learning from Disaster

](https://www.kaggle.com/c/titanic) **

泰坦尼克号的沉没

1912年4月15日,在她的处女航中,被普遍认为“沉没”的RMS泰坦尼克号与冰山相撞后沉没。

不幸的是,船上没有足够的救生艇供所有人使用,导致2224名乘客和机组人员中的1502人死亡。虽然幸存有一些运气,但似乎有些人比其他人更有可能生存。

在这一挑战中,我们要求您建立一个预测模型来回答以下问题:“什么样的人更有可能生存?” 使用乘客数据(即姓名,年龄,性别,社会经济舱等)

任务分析 :这是一个分类任务,建立模型预测幸存者

数据集

  • 训练集:891*12,含891个样本,11+1个特征(一个是target)
  • 测试集:418*11,含418个样本,11个特征

Overview:

  • PassengerId:乘客ID — id号作用不大,考虑删除
  • Survived:存活 (target) ---- 标签:1代表存活 0 代表没有幸存
  • Pclass:舱位等级 ---- 分成三个等级 1 2 3
  • Name:姓名 — 由于外国的姓氏有等级之分,有意义
  • Sex:性别 — 女士是否优先??
  • Age:年龄 — 年轻人可能存活多??
  • SibSp:泰坦尼克号上的兄弟姐妹/配偶数 — 有待考查
  • Parch:泰坦尼克号上的父母/子女数量 — 有待考查
  • Ticket:票据 — 有待考查
  • Fare:票价 — 票价高的可能待遇高
  • Cabin:船舱号 — 不同的船舱或许获得求生不同
  • Embarked:登船港口 ---- C = Cherbourg;Q = Queenstown;S = Southampton

代码实现

导入相关的库
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    import warnings
    warnings.filterwarnings('ignore')
    seed =2020
数据概览
1. 加载数据方法 :pd.read_csv(),pd.read_table() 

* pd.read_csv():读取以‘,’分割的文件到DataFrame,用于读取csv文件(csv用逗号符分隔字符段) 
* pd.read_table():读取以‘\t’分割的文件到DataFrame,用于读取tsv文件(tsv用制表符分隔字符段) 
* 实质上两个方法都是通用的,函数中参数sep可以选定分隔符的类型 

例如用read_csv()读取tsv文件,df = pd.read_csv(file_path,sep='\t')

2. 处理大型文件或内存不足时,采用分块读取方式: 

* 使用参数chunksize指定文件块的大小(用于迭代) 

df = pd.read_csv(file_path,chunksize = 100)
for i in df: ##用循环的方式即可迭代读取DataFrame
print(i)

3. 更多常用参数 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200818201834195.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzUzMjAwMA==,size_16,color_FFFFFF,t_70#pic_center)
    ##加载数据  不建议把特征名转成中文,在画图时可能出现乱码
    train_df = pd.read_csv('data_train.csv')
    test_df = pd.read_csv('data_test.csv')
    ##数据预览 查看前5行的数据
    train_df.head()

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200818202028525.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzUzMjAwMA==,size_16,color_FFFFFF,t_70#pic_center)

    test_df.head()

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200818202052866.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzUzMjAwMA==,size_16,color_FFFFFF,t_70#pic_center)

  • DataFrame.info(): 可以对数据进行简要的概览,非空样本数,特征行的类型,特征数
  • DataFrame.describe(): 输出数值型特征的一些统计量
    train_df.info()

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200818202306112.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值