5-2 泰坦尼克问题引入分析

我们进行Tf.estimator的一个实战。就是我们如何将Keras模型给转成estimator从而进行训练和测试。

import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
import sklearn
import pandas as pd
import os
import sys
import time
import tensorflow as tf

from tensorflow import keras

print(tf.__version__)
print(sys.version_info)
for module in mpl, np, pd, sklearn, tf, keras:
    print(module.__name__, module.__version__)

首先导入包。

# https://storage.googleapis.com/tf-datasets/titanic/train.csv
# https://storage.googleapis.com/tf-datasets/titanic/eval.csv
train_file = "./data/titanic/train.csv"  #训练集文件名路径
eval_file = "./data/titanic/eval.csv"   #测试集文件名路径

train_df = pd.read_csv(train_file)    #使用pandas把两个文件给读取进来并且解析
eval_df = pd.read_csv(eval_file)

print(train_df.head())			#再看一下前五条数据。
print(eval_df.head())

泰坦尼克号生存数据集是kaggle上的一个数据集,这里给出另一个下载地址,已经把缺失值给填充好了。
数据集中有十个字段,第一个为是否获救,其他字段是乘客的属性特征。整个数据集还是比较小的。
一下是上面代码的运行结果:在这里插入图片描述

因为survived是我们要预测的值,所以我们需要把它取出来

y_train = train_df.pop('survived')  # 返回的是被去掉的survived字段
y_eval = eval_df.pop('survived')

print(train_df.head())   #head默认就是去除前五条数据
print(eval_df.head())
print(y_train.head())
print(y_eval.head())

以下是代码运行结果:
在这里插入图片描述
使用pandas的一个好处就是可以很方便地得到数据集中的统计量。

train_df.describe()    #得到数据集的统计量

在这里插入图片描述

print(train_df.shape, eval_df.shape)    #看一下数据的形状

在这里插入图片描述
接下来看更多的统计量,分析一下本数据。

train_df.age.hist(bins = 20)   # .age就是把age字段拿出来,.hist就是画一个直方图,bins是hist的一个参数,使之把所有的值分成多少份。

一下是代码运行结果:
在这里插入图片描述
由图可以看出,大部分人都在20到30岁左右。

接下来看一下不同性别的人各占多少。

train_df.sex.value_counts().plot(kind = 'barh')

.sex把性别的信息拿出来,value_ocunts把各个属性值的个数统计出来,.plot是用来画图的,参数是调整方向,v代表vertical,h代表horizon。

接下来统计一下不同仓位的乘客有多少。

train_df['class'].value_counts().plot(kind = 'barh')

这里使用【】是因为.class名字有冲突。
在这里插入图片描述
接下来统计一个比较复杂的值。所有乘客中有多少男获救了,有多少女获救了。

pd.concat([train_df, y_train], axis = 1).groupby('sex').survived.mean().plot(kind='barh')

pd.concat([train_df, y_train], axis = 1)先把是否获救的字段还原到数据中,因为需要利用是否获救的信息,再根据性别分组,再把是否存活的值取出来,再取一个均值,再把图像画出来。
在这里插入图片描述
如果不调用.plt的话,就会显示具体的数字。

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读