泰坦尼克—逻辑回归

趁着周末比较闲,做一个几乎所有人都会做的入坑项目——大名鼎鼎的Kaggle泰坦尼克。

数据地址我就不放了,Kaggle上自己翻吧。数据包括:

  • PassengerId => 乘客ID
  • Survive => 乘客是否生还(仅在训练集中有,测试集中没有)
  • Pclass => 乘客等级(1/2/3等舱位)
  • Name => 乘客姓名
  • Sex => 性别
  • Age => 年龄
  • SibSp => 堂兄弟/妹个数
  • Parch => 父母与小孩个数
  • Ticket => 船票信息
  • Fare => 票价
  • Cabin => 客舱
  • Embarked => 登船港口

而我们需要根据以上乘客的个人信息,做出分类模型,对测试集中乘客的生还情况做出预测。因为生还只涉及到生/死两种情况,故此问题是个二分类问题,在这里我们使用逻辑回归进行分类。

1.数据认知

首先来看一下数据

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

data_train = pd.read_csv('train.csv')
data_train.info() 

先从训练集开始看,结果如下:


可以看到Cabin,Age和Embarked这三项在训练集中皆有缺失。

首先,让我们直观的认识一下各类信息与生还的相关情况。

1.1 舱位与生还的对比

fig = plt.figure()
fig.set(alpha=0.2)
no_survived = data_train.Pclass[data_train.Survived == 0].value_counts()
survived = data_train.Pclass[data_train.Survived == 1].value_counts()
df = pd.DataFrame({'Survived':survived,'Died':no_survived})
df.plot(kind='bar',stacked = True)
plt.title('Class vs Survive')
plt.xlabel('People')
plt.ylabel('Class')
plt.show()

我们可以看到,就生还率而言,一等舱明显最高,而三等舱显然最低。因此可以推测舱位的高低与生还情况成正相关。

这告诉了我们出门一定要多花钱买船/机票,做个有钱人。


1.2 性别与生还对比

fig = plt.figure()
fig.set(alpha = 0.2)
no_survived_g = data_train.Sex[data_train.Survived == 0].value_counts()
survived_g = data_train.Sex[data_train.Survived == 1].value_counts()
df_g = pd.DataFrame({'Survived':survived_g,'Died':no_survived_g})
df_g.plot(kind='bar',stacked = True)
plt.title('Gender vs Survive')
plt.xlabel('People')
plt.ylabel('Survive')
plt.show()

女性的生还状况要好于男性,看来在泰坦尼克号事故中,船员们还是普遍绅士的。

说明了如果是个女土豪,生还机会更好。

1.3 港口与生还情况

fig = plt.figure()
fig.set(alpha = 0.2)
no_survived_e =
  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值