every blog every motto:

0. 前言

读取,tfrecords文件,并使用tf.keras

1. 代码部分

1. 导入模块

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 kerasprint(tf.__version__)
print(sys.version_info)
for module in mpl,np,pd,sklearn,tf,keras:print(module.__name__,module.__version__)

2. 读取数据

# 读取数据
train_file = './data/train.csv'
eval_file = './data/eval.csv'train_df = pd.read_csv(train_file)
eval_df = pd.read_csv(eval_file)print(train_df.head())
print(eval_df.head())
y_train = train_df.pop('survived')
y_eval = eval_df.pop('survived')print(train_df.head())
print(eval_df.head())
print(y_train.head())
print(y_eval.head())

3. 查看统计量

# 查看统计量
train_df.describe()
print(train_df.shape,eval_df.shape)

3.2 查看分布

# 查看年龄分布,直方图
train_df.age.hist(bins=20)

# 查看性别分布
train_df.sex.value_counts().plot(kind = 'barh')

# 查看类别分布
train_df['class'].value_counts().plot(kind = 'barh')

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

4. feature_columns

# 离散特征
categorical_colums = ['sex','n_siblings_spouses','parch','class','deck','embark_town','alone']
numerical_columns = ['age','fare']feature_columns = []
# 离散
for categorical_column in categorical_colums:vocab = train_df[categorical_column].unique() # 获取所有可能的值print(categorical_column,vocab)# one-hot 编码,feature_columns.append(tf.feature_column.indicator_column(tf.feature_column.categorical_column_with_vocabulary_list(categorical_column,vocab)))# 连续
for categorical_column in numerical_columns:feature_columns.append(tf.feature_column.numeric_column(categorical_column,dtype=tf.float32))

5. 构建dataset

# 构建dataset
def make_dataset(data_df,label_df,epochs=10,shuffle=True,batch_size = 32):dataset = tf.data.Dataset.from_tensor_slices((dict(data_df),label_df))if shuffle:dataset = dataset.shuffle(10000)dataset = dataset.repeat(epochs).batch(batch_size)return dataset
train_dataset = make_dataset(train_df,y_train,batch_size = 5)
for x,y in train_dataset.take(1):print(x,y)

6. feaure_column与dataset结合使用

# feature_column 与dataset 结合使用
# keras.layers.DenFeature
for x,y in train_dataset.take(1):age_column = feature_columns[7]gender_column = feature_columns[0]print(keras.layers.DenseFeatures(age_column)(x).numpy())print(keras.layers.DenseFeatures(gender_column)(x).numpy())
# feature_column 与dataset 结合使用
# keras.layers.DenFeature
for x,y in train_dataset.take(1):print(keras.layers.DenseFeatures(feature_columns)(x).numpy())

7. 构建模型

# 构建keras模型
model = keras.models.Sequential([keras.layers.DenseFeatures(feature_columns),keras.layers.Dense(100,activation='relu'),keras.layers.Dense(100,activation='relu'),keras.layers.Dense(2,activation='softmax'),
])model.compile(loss="sparse_categorical_crossentropy",optimizer = keras.optimizers.SGD(lr=0.01),metrics=['accuracy'])

8. 训练

# 1. model.fit
# 2. model -> estimator -> triantrain_dataset = make_dataset(train_df,y_train,epochs=100)
eval_dataset = make_dataset(eval_df,y_eval,epochs=1,shuffle=False)
history = model.fit(train_dataset,validation_data = eval_dataset,steps_per_epoch=20,validation_steps=8,epochs=100)
estimator = keras.estimator.model_to_estimator(model)
# 1. function
# 2. return a. (features,labels) b. dataset -> (feature,label)
estimator.trian(input_fn = lambda:make_dataset(train_df,y_train,epochs))

注: 框架有buge,

从零基础入门Tensorflow2.0 ----五、19. feature_column , keras_to_estimator相关推荐

  1. 视频编码零基础入门(0):零基础,史上最通俗视频编码技术入门

    [来源申明]本文引用了微信公众号"鲜枣课堂"的<视频编码零基础入门>文章内容.为了更好的内容呈现,即时通讯网在引用和收录时内容有改动,转载时请注明原文来源信息,尊重原作 ...

  2. 一篇文章让你从JAVA零基础入门`OOP`编程12.19

    一篇文章让你从JAVA零基础入门OOP编程 前言: 此文为玄子,复习ACCP-S1课程后,整理的文章,文中对知识点的解释仅为个人理解. 配套PPT,站点源码,等学习资料 一.预科 1.1 JAVA 介 ...

  3. python零基础入门教程会计-Python 19会计(Z)

    spContent=本课基于主讲教师在北京大学讲授数据结构与算法课(Python版)的多年教学实践经验,面向零编程基础的大学生和社会公众,全面讲授Python语言基础,培养学生计算思维的能力,并讲解P ...

  4. 零基础入门学习Python(19)-内嵌函数和闭包

    global关键字 全局变量的作用域是整个模块,也就是代码段内所有的函数内部都可以访问到全局变量 注意,在函数内部仅仅去访问全局变量就好,不要试图去修改它,如果随意修改全局变量的值,很容易牵一发而动全 ...

  5. Apache Flink 零基础入门(十五)Flink DataStream编程(如何自定义DataSource)

    数据源可以通过StreamExecutionEnvironment.addSource(sourceFunction)方式来创建,Flink也提供了一些内置的数据源方便使用,例如readTextFil ...

  6. 零基础入门学习Python(19)--函数:我的地盘听我的

    知识点 函数与过程 在许多编程语言中,函数(function)是有返回值的,过程(procedure)是简单.特殊并且没有返回值的.而在Python中,严格来说只有函数没有过程. 例如: >&g ...

  7. 【转】Dynamics CRM 365零基础入门学习(五)权限管理

    一:安全角色 Microsoft Dynamics 365中的安全角色是各种实体的特权和访问级别矩阵. 它们根据其功能分组在不同的选项卡下. 这些组包括:核心记录,营销,销售,服务,业务管理,服务管理 ...

  8. python和循环语句_Python 小白零基础入门 -- 条件语句和循环语句

    Python 小白零基础入门 -- 条件语句和循环语句 点击上方 "Python 读数", 选择 "星标" 公众号 重磅干货, 第一时间送达 Python 零基 ...

  9. 五万字15张导图Java自学路线,小白零基础入门,程序员进阶,收藏这篇就够了

    本文收录于<技术专家修炼> 文中配套资料合集 路线导图高清源文件 点击跳转到文末点击底部卡片回复「资料」领取 哈喽,大家好,我是一条~ 最近粉丝问我有没有Java自学路线,有了方向才能按图 ...

  10. 视频教程-19全新mysql教程零基础入门实战精讲mysql视频DBA数据库视频教程SQL教程-MySQL

    19全新mysql教程零基础入门实战精讲mysql视频DBA数据库视频教程SQL教程 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有node/ja ...

最新文章

  1. 线扫相机——机器视觉中无限制物体的检测
  2. js之字面量、对象字面量的访问、关键字in的用法
  3. 有了 for (;;) 为什么还需要 while (true) ? 到底哪个更快?
  4. [C++调试笔记]网格划分grid_pic.cpp
  5. [非旋平衡树]fhq_treap概念及模板,例题:普通平衡树,文艺线段树
  6. java mail outlook_已启用Outlook API邮件与邮箱用户
  7. Error installing bundler:bundler requires Ruby version >= 2.3.0.
  8. 学习推荐《精通Python网络爬虫:核心技术、框架与项目实战》中文PDF+源代码
  9. linux中hadoop环境变量配置文件,Ubuntu中关于hadoop环境变量的设置方法
  10. linux 怎么改系统字体,Linux下如何设置中文字体
  11. 001.XE3添加TPerlRegEx
  12. 极客大学产品经理训练营:需求评审 第13课总结
  13. 7-2统计素数并求和(20分)
  14. m115b linux 驱动下载,富士施乐m115b打印机驱动
  15. TeamViewer 被发现用于(检测为)商业用途解决方案(亲测有效 )
  16. 11.1.4 子线程与主线程通信实例
  17. jQuery UI Autocomplete是jQuery UI的自动完成组件
  18. 自签名SSL证书有风险吗?
  19. w ndows10QQ远程,Win10提示“QQ远程系统权限原因,暂时无法操作”的解决方法
  20. 阿里云数据库MongoDB版助力吉比特《一念逍遥》游戏斩获千万玩家,运营效率成倍增长

热门文章

  1. windows 64位sed.exe_32位,64位,x86,x64到底是什么关系?差距居然这么大
  2. qt 隐藏控制台_QT去掉CONSOLE | 学步园
  3. 用户已关闭隐式函数计算_针对隐式反馈和LightFM模型的杂谈
  4. python设置tk退出_Tkinter退出按钮
  5. python不用sort排序_Python排序方法sort、sorted的key参数的作用
  6. JS:获取字符串中第一个不是汉字的字符
  7. Java编程:树(基础部分)
  8. 设计模式:JavaScript
  9. pos mac java_有没有谁搞过银联POS终端mac算法[php版本]?
  10. 记录下我的Linux系统中vim文件的配置---(.vimrc文件配置模板)