Titanic-1 数据处理
数据分析、数据清洗
前言
Titanic是Kaggle比赛入门的经典案例,其背景就是历史上有名的泰坦尼克时间,比赛需要通过使用历史信息来预测测试集中的人能否在灾难中存活。
一、背景交代
泰坦尼克号沉没事故(Sinking of the RMS Titanic)是1912年4月14日深夜至15日凌晨在北大西洋发生的著名船难,事发时是泰坦尼克号从英国南安普敦港至美国纽约港首航的第5天,该船当时是世界最大的邮轮。1912年4月14日星期天23时40分与一座冰山擦撞前,已经收到6次海冰警告,但当瞭望员看到冰山时,该船的行驶速度正接近最高速。由于无法快速转向,该船右舷侧面遭受了一次撞击,部分船体出现缝隙,使16个水密隔舱中的5个进水。泰坦尼克号的设计仅能够承受4个水密隔舱进水,因此沉没。
二、数据分析
打开train.csv文件,我们可以看到包含如下几个特征:
PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked
其中,PassengerId为乘客编号;
survived为是否存活,也是我们需要对test.csv进行预测的输出;
Pclass为船舱的等级,1、2、3等仓;
Name为头衔+姓名;
Sex性别;
Age年龄;
SibSp是sibship的缩写,即兄弟姐妹关系,兄弟姐妹的数量;
Parch为parent和child的缩写,父母和孩子的数量;
Ticket为票号;
Fare为船票费;
Cabin为船舱号;
Embarked为登船的港口,其中S为首发港Southampton(英国南安普顿)、C为Cherbourg(法国瑟堡港)、Q为Queenstown(爱尔兰昆士敦)。下面对数据进行定量分析一下。
1.数据分析
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
d_train=pd.read_csv("train_csv")
d_test=pd.read_csv("test_csv")
print(d_train.info())
print(d_train.describe())
print(d_train.head())
print(d_test.info)
print(d_test.describe())
print(d_test.head())
这里可以看到特征Cabin有较多的缺失值,因此在处理数据时可以直接将Cabin丢弃。此外,Ticket中包含的信息和是否生存关联性不大,因此也可以直接丢弃。
print("----------获救人数----------")
print(d_train.groupby(["Survived"])['Pclass'].count())
print<