Titanic数据集分析及kaggle提交

首先看到这个数据集脑海中就想到了学过的二分类问题,一共11个输入维度,一个输出维度(Survived),具体如下:

咋一看就感觉passengerid和是否存活就没有关系,numpy.loadtxt无法读取带字符串的输入,这里我们用pandas读取数据分析一下

import torch 
import pandas as pd 
import numpy as np 
from pandas import Series,DataFrame

data_train = pd.read_csv("./dataset/train.csv")

输出一下大概是这样

输出data_train.info()

发现Age(年龄)属性和Cabin(座位号)是有缺失的

输出train_data.describe()

粗略的发现只有0.38的存活率,平均乘客年龄大概是29等,还是要单一变量法查看每一个特征与结果的联系,pid(乘客编号)显然不是特征

1.Pclass(船舱等级)与是否存活的关系

import torch 
import pandas as pd 
import numpy as np 
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
data_train = pd.read_csv("./dataset/train.csv")

Survived_0 = data_train.Pclass[data_train.Survived == 0].value_counts()
#print(Survived_0)
Survived_1 = data_train.Pclass[data_train.Survived == 1].value_counts()
#print(Survived_1)
df = pd.DataFrame({u'live': Survived_1, u'unlive': Survived_0})
#print(df)
df.plot(kind='bar', stacked=True)
plt.show()

显然再1号船舱大部分人都活下来了,2号船舱一半活下来了,3号大半都挂了

2.sex(性别属性)

code:

Survived_male = data_train.Survived[data_train.Sex == 'male'].value_counts()
Survived_female = data_train.Survived[data_train.Sex == 'female'].value_counts()

df = pd.DataFrame({u'男性': Survived_male, u'女性': Survived_female})
print(df)
df.plot(kind='bar', stacked=True)
plt.title(u"按性别看获救情况")
plt.xlabel(u"性别") 
plt.ylabel(u"人数")
plt.show()

显然生存下来的女性要多一点,所以性别也是一个特征

3.Embarked(上船的港口)

code:

Survived_1 = data_train.Embarked[data_train.Survived == 1].value_counts()
Survived_0 = data_train.Embarked[data_train.Survived == 0].value_counts()

df = pd.DataFrame({u'存活': Survived_1, u'死亡': Survived_0})
print(df)
df.plot(kind='bar', stacked=True)
plt.title(u"按登陆港口看获救情况")
plt.xlabel(u"港口") 
plt.ylabel(u"存活")
plt.show()

显然在不同的港口上船死亡率不同

4.Sipsp(乘客的兄弟姐妹和配偶数量)和Parch(乘客的父母与子女数量)

sipsp:

parch:

5.Fare(票价)

6.Cabin因为缺少太多直接舍弃了===但是我觉得是会有影响的

2.Age属性

刚才我们看到了age属性有714/891,所以需要做一个补全,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值