教女朋友学数据挖掘——泰坦尼克号获救预测

学习笔记
一、数据挖掘任务流程 1.1 数据读取1.2 特征理解分析1.3 数据清洗与预处理1.4 建立模型二、工具:
本文所用到的库:
三、数据读取及整体概况 3.1 读数据
import numpy as np import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsplt.style.use('fivethirtyeight')import warningswarnings.filterwarnings('ignore')%matplotlib inline
数据读起来,先看看啥东西:
data=http://www.kingceram.com/post/pd.read_csv('train.csv')data.head()
, Mr. Owen
male
22.0
A/5 21171
7.2500
NaN
, Mrs. John(Th...
38.0
PC 17599
71.2833
C85
, Miss. Laina
26.0
STON/O2.
7.9250
NaN
, Mrs.Heath (Lily May Peel)
35.0
53.1000
C123
Allen, Mr.Henry
male
35.0
8.0500
NaN
指标解释:
3.2 缺失值
瞅一瞅有木有缺失值
data.isnull().sum() #checking for total null values
PassengerId0Survived0Pclass0Name0Sex0Age177SibSp0Parch0Ticket0Fare0Cabin687Embarked2dtype: int64
3.3 整体统计分析
整体看看数据啥规模
data.describe()
re
count
891.
891.
891.
714.
891.
891.
891.
mean
446.
0.
2.
29.
0.
0.
32.
std
257.
0.
0.
14.
1.
0.
49.
min
1.
0.
1.
0.
0.
0.
0.
25%
223.
0.
2.
20.
0.
0.
7.
50%
446.
0.
3.
28.
0.
0.
14.
75%
668.
1.
3.
38.
1.
0.
31.
max
891.
1.
3.
80.
8.
6.
512.
3.4 获救比例
不是要预测这大船的获救情况嘛,先看看获救比例咋样
f,ax=plt.subplots(1,2,figsize=(18,8))data['Survived'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%',ax=ax[0],shadow=True)ax[0].set_title('Survived')ax[0].set_ylabel('')sns.countplot('Survived',data=http://www.kingceram.com/post/data,ax=ax[1])ax[1].set_title('Survived')plt.show()
显然,这次事故中没有多少乘客幸免于难 。
在训练集的891名乘客中,只有大约350人幸存下来,只有38.4%的机组人员在空难中幸存下来 。我们需要从数据中挖掘出更多的信息,看看哪些类别的乘客幸存下来,哪些没有 。
我们将尝试使用数据集的不同特性来检查生存率 。比如性别,年龄,登船地点等,但是首先我们得来理解下数据中的特征!
四、特征理解分析
数据特征分为:连续值和离散值
4.1 性别与存活率关系
data.groupby(['Sex','Survived'])['Survived'].count()
SexSurvivedfemale0811233male04681109Name: Survived, dtype: int64
f,ax=plt.subplots(1,2,figsize=(18,8))data[['Sex','Survived']].groupby(['Sex']).mean().plot.bar(ax=ax[0])ax[0].set_title('Survived vs Sex')sns.countplot('Sex',hue='Survived',data=http://www.kingceram.com/post/data,ax=ax[1])ax[1].set_title('Sex:Survived vs Dead')plt.show()
这看起来很有趣 。船上的男人比女人多得多 。不过,挽救的女性人数几乎是男性的两倍 。生存率为一个女人在船上是75%左右,而男性在18-19%左右 。(让妇女和儿童先走,虽然电影忘得差不多了,这句话还记着 。。。确实是这样的)