every blog every motto:

0. 前言

预定义estimator的使用

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. 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))

4. 构建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

5. 保存输出模型

5.1.1 baseline_estimator

# 保存输出模型
output_dir = 'baseline_model'
if not os.path.exists(output_dir):os.mkdir(output_dir)baseline_estimator = tf.estimator.BaselineClassifier(model_dir = output_dir,n_classes=2)
baseline_estimator.train(input_fn = lambda:make_dataset(train_df,y_train,epochs=100))

5.2 evaluate

baseline_estimator.evaluate(input_fn = lambda : make_dataset(eval_df,y_eval,epochs=1,shuffle=False,batch_size=20))

5.2.1 linear

linear_ouput_dir = 'linear_model'
if not os.path.exists(linear_ouput_dir):os.mkdir(linear_ouput_dir)
linear_estimator = tf.estimator.LinearClassifier(model_dir=linear_ouput_dir,n_classes=2,feature_columns=feature_columns)
linear_estimator.train(input_fn=lambda :make_dataset(train_df,y_train,epochs=100))

5.2.5 evaluate

linear_estimator.evaluate(input_fn=lambda :make_dataset(eval_df,y_eval,epochs=1,shuffle=False))

5.3.1 dnn_estimator

dnn_output_dir = './dnn_model'
if not os.path.exists(dnn_output_dir):os.mkdir(dnn_output_dir)
dnn_estimator = tf.estimator.DNNClassifier(model_dir=dnn_output_dir,n_classes=2,feature_columns=feature_columns,hidden_units=[128,128],activation_fn=tf.nn.relu,optimizer='Adam')
dnn_estimator.train(input_fn=lambda : make_dataset(train_df,y_train,epochs=100))

5.3.2 evaluate

dnn_estimator.evaluate(input_fn=lambda : make_dataset(eval_df,y_eval,epochs=1,shuffle=False))

从零基础入门Tensorflow2.0 ----五、20. 预定义estimator使用相关推荐

  1. 阿里云【名师课堂】Java零基础入门24 ~ 26:方法的定义与使用

    阿里云[名师课堂]Java零基础入门24 ~ 26:方法的定义与使用 24:方法的基本定义 无返回值无参数 无返回值有参数 有返回值有参数 25:方法重载(重点) 26:方法递归调用 24:方法的基本 ...

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(QQ_3336392096.png)] 一篇文章让你从JAVA零基础入门OOP编程 前言: 此文为玄子,复习ACCP-S1课程后, ...

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

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

  4. 循环控制结构程序05 - 零基础入门学习C语言20

    第五章:循环控制结构程序05 让编程改变世界 Change the world by program break和continue语句 break语句 break语句可以用来从循环体内跳出循环体,即提 ...

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

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

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

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

  7. 数学建模速成!两小时零基础入门MATLAB教程(六)—— 定义和调用函数

    MATLAB定义函数 文章目录 MATLAB定义函数 1. 常见问题 2. 如何定义 2.1语法 2.2举例 3. 如何使用 3.1 得到返回值 3.2 将定义的函数作为参数传递给其他函数(函数指针) ...

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

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

  9. 零基础入门学习Python(21):魔法方法(1)构造和析构

    零基础入门学习Python(21):魔法方法(1)构造和析构 从这节开始,我们介绍下Python的魔法方法:魔法方法总是被双下划线包围. 之前有提到过初始化的魔法方法__init__(),它返回Non ...

  10. 零基础入门转录组分析——第五章(表达定量)

    零基础入门转录组分析--第五章(表达定量) 目录 零基础入门转录组分析--第五章(表达定量) 1. 序列比对结果的复查 2. 表达定量 3. 提取有效信息 4. 合并多个样本定量结果 5. 进一步修改 ...

最新文章

  1. ASM丢失disk header导致ORA-15032、ORA-15040、ORA-15042 Diskgroup无法mount
  2. 【数论基础】模运算详解及其应用
  3. C 语言 sizeof 用法
  4. 系统视频教学视频教程_太极拳教学视频教程,董氏太极拳基本功训练方法视频...
  5. 蓝牙协议 HFP,HSP,A2DP,A2DP_CT,A2DP_TG,AVRCP,OPP,PBAP,SPP,FTP,TP,DTMF,DUN,SDP
  6. 分享实录 | 深度学习技术红利下的代码补全
  7. 数据库框架的log4j日志配置
  8. zabbix mysql设置中文乱码_解决zabbix监控因php问题导致图形界面中文乱码方法
  9. CSS 笔记——盒子模型
  10. 【华为云技术分享】处理器存储模型概述(1)
  11. 云原生火爆技术人朋友圈,你可别云里雾里了!
  12. 光山二高2021高考成绩查询,光山县第二高级中学2019高考成绩和历年成绩汇总
  13. 【系统分析师之路】系分历年论文命题走向
  14. Python(pybrain模块)搭建神经网络BPNN
  15. 协方差矩阵的计算方法
  16. 定性分析与定量分析的区别
  17. 5G工业无线路由器的优势和应用场景
  18. BUUCTF-[XMAN2018排位赛]ppap
  19. 从《三体》中的“降维打击”看网络世界,论维度升级的方法与实践
  20. smbus电池信息读取

热门文章

  1. linux 多线程超时中断,c#中的线程超时
  2. java 二进制转十进制的算法_java中位运算与整数的十进制转二进制
  3. pythonmkdir语法错误_转--python使用mkdir函数出现错误WindowsError:[Error3]
  4. Node.js:Express
  5. 爬虫:使用Chrome谷歌浏览器自动获取xpath爬取内容为空
  6. java跳跳球代码,README.md
  7. 整合Mybatis+Spring | 释疑
  8. 论文笔记_S2D.03-2012-BMVC-目标类别分割和稠密立体重建的联合优化
  9. SINet: 使用空间压缩模块和信息遮挡编码器的极轻量人像分割模型
  10. 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。