当前位置:   article > 正文

泰坦尼克—逻辑回归_泰坦尼克号逻辑回归

泰坦尼克号逻辑回归

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

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

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

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

1.数据认知

首先来看一下数据

  1. import numpy as np
  2. import pandas as pd
  3. import matplotlib.pyplot as plt
  4. data_train = pd.read_csv('train.csv')
  5. data_train.info()

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


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

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

1.1 舱位与生还的对比

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

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

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


1.2 性别与生还对比

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

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

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

1.3 港口与生还情况

  1. fig = plt.figure()
  2. fig.set(alpha = 0.2)
  3. no_survived_e =
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/237104
推荐阅读
相关标签
  

闽ICP备14008679号