赞
踩
趁着周末比较闲,做一个几乎所有人都会做的入坑项目——大名鼎鼎的Kaggle泰坦尼克。
数据地址我就不放了,Kaggle上自己翻吧。数据包括:
而我们需要根据以上乘客的个人信息,做出分类模型,对测试集中乘客的生还情况做出预测。因为生还只涉及到生/死两种情况,故此问题是个二分类问题,在这里我们使用逻辑回归进行分类。
首先来看一下数据
- 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 =
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。