every blog every motto: You may be out of my sight, but never out of my mind.

0. 前言

多输出问题。

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. 读取数据

from sklearn.datasets import fetch_california_housing# 房价预测
housing = fetch_california_housing()
print(housing.DESCR)
print(housing.data.shape)
print(housing.target.shape)

3. 划分样本

# 划分样本
from sklearn.model_selection import train_test_splitx_train_all,x_test,y_train_all,y_test = train_test_split(housing.data,housing.target,random_state=7)
x_train,x_valid,y_train,y_valid = train_test_split(x_train_all,y_train_all,random_state=11)print(x_train.shape,y_train.shape)
print(x_valid.shape,y_valid.shape)
print(x_test.shape,y_test.shape)

4. 数据归一化

# 归一化
from sklearn.preprocessing import StandardScalerscaler = StandardScaler()
x_train_scaled = scaler.fit_transform(x_train)
x_valid_scaled = scaler.transform(x_valid)
x_test_scaled = scaler.transform(x_test)

5. 构建模型

注: 多输出问题在此

# 多输出(函数式方法)
input_wide = keras.layers.Input(shape=[5])
input_deep = keras.layers.Input(shape=[6])
hidden1 = keras.layers.Dense(30,activation='relu')(input_deep)
hidden2 = keras.layers.Dense(30,activation='relu')(hidden1)
concat = keras.layers.concatenate([input_wide,hidden2])
output = keras.layers.Dense(1)(concat)
output2 = keras.layers.Dense(1)(hidden2)
model = keras.models.Model(inputs=[input_wide,input_deep],outputs=[output,output2])# 打印model信息
model.summary()
# 编译
model.compile(loss='mean_squared_error',optimizer="adam")
# 回调函数
callbacks = [keras.callbacks.EarlyStopping(patience=5,min_delta=1e-2)]

6. 训练

# 一共8个特征,wide前5个,deep后6个
x_train_scaled_wide = x_train_scaled[:,:5]
x_train_scaled_deep = x_train_scaled[:,2:]
x_valid_scaled_wide = x_valid_scaled[:,:5]
x_valid_scaled_deep = x_valid_scaled[:,2:]
x_test_scaled_wide = x_test_scaled[:,:5]
x_test_scaled_deep = x_test_scaled[:,2:]#训练
history = model.fit([x_train_scaled_wide,x_train_scaled_deep],[y_train,y_train],validation_data=([x_valid_scaled_wide,x_valid_scaled_deep],[y_valid,y_valid]),epochs=100,callbacks=callbacks)

7. 学习曲线

# 学习曲线
def plot_learning_curves(history):pd.DataFrame(history.history).plot(figsize=(8,5))plt.grid(True)plt.gca().set_ylim(0,1)plt.show()
plot_learning_curves(history)

8. 测试集上

model.evaluate([x_test_scaled_wide,x_test_scaled_deep],[y_test,y_test])

从零基础入门Tensorflow2.0 ----二、4.4 wide deep 模型(多输出)相关推荐

  1. TensorFlow2.0(五)--Keras构建Wide Deep模型

    Keras构建Wide & Deep模型 1. Wide & Deep模型简介 2. Keras实现Wide & Deep模型 2.1 导入相应的库 2.2 数据集加载与处理 ...

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

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

  3. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task5:模型训练与验证

    [天池赛事]零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline(3 天) – 学习主题:理解赛题内容解题流程 – 学习内容:赛题理解.数据读取.比赛 baseline 构建 ...

  4. python环境变量配置_Python零基础入门到年薪二十万-1.1节: 在windows中安装Python

    教程引言: 该系列图文课程以及视频课程全部免费.课程会系统地讲解计算机的基础知识,Python的基础知识. 在讲解Python的高级知识中,会系统地讲解面向对象编程,并发编程,数据库编程,网络编程. ...

  5. 【转】Dynamics CRM 365零基础入门学习(二)Dynamics 插件注册的基本流程

    插件的官方定义是:插件是可与 Microsoft Dynamics CRM 365 和 Microsoft Dynamics CRM Online 集成的自定义业务逻辑(代码),用于修改或增加平台的标 ...

  6. Flutter零基础入门配套代码二

    Flutter 是 Google 推出并开源的移动应用开发框架,主打跨平台.高保真.高性能.开发者可以通过 Dart 语言开发 App,一套代码同时运行在 iOS 和 Android平台. Flutt ...

  7. Apache Flink 零基础入门(十二)Flink sink

    将DataSet中的数据Sink到哪里去.使用的是对应的OutPutFormat,也可以使用自定义的sink,有可能写到hbase中,hdfs中. writeAsText() / TextOutput ...

  8. Python零基础入门之第一章(一、基本输入和输出)

    第一章 Python基础语法(一.基本输入和输出) 很喜欢<傅雷家书>中的一句话"没有吃够苦头绝不能有好成绩",希望大家可以一起坚持,最后看到"好成绩&quo ...

  9. 零基础入门--中文命名实体识别(BiLSTM+CRF模型,含代码)

    https://github.com/mali19064/LSTM-CRF-pytorch-faster 中文分词 说到命名实体抽取,先要了解一下基于字标注的中文分词. 比如一句话 "我爱北 ...

  10. TensorFlow2.0(二)--Keras构建神经网络分类模型

    Keras构建分类模型 1. tf.keras简介 2. 利用tf.keras构建神经网络分类模型 2.1 导入相应的库 2.2 数据读取与展示 2.3 数据归一化 2.4 构建模型 2.5 模型的编 ...

最新文章

  1. 微信小程序底部导航Tabbar
  2. 剑指offer 面试16题
  3. 关于cocopod命令
  4. java中week of year_Java WeekFields weekOfYear()用法及代码示例
  5. codeforces 734A-C语言解题报告
  6. Helloworld【C#】
  7. conda移植环境到另一台电脑
  8. Android 系统性能优化(28)---Android 性能优化工具集合
  9. 自学python需要安装什么-Python学习需要安装的工具
  10. 工欲善其事,必先利其器篇-高效实现右滑退出功能
  11. 推荐 10 款让你的 Chrome 浏览器功能更强大的插件
  12. H5页面调用手机打电话功能
  13. Centos添加开机启动项【Systemctl方式】
  14. h61 nvme硬盘_切割SN520amp;amp;对比主流NVME2242amp;amp;无硬盘盒迁移系统
  15. 【测试】黑盒测试用例设计方法
  16. 支付宝小程-调起支付宝进行支付
  17. linux驱动学习2(kpd驱动初步分析)
  18. 向面前的第一座山进军!!!
  19. Python中定义函数的关键字是什么?
  20. TeeChart 4.2021.8.23 for .Net-Crack

热门文章

  1. jetty jndi mysql_jetty配置jndi数据源
  2. 帝豪gs车机系统wince_平顶山到河南,帝豪GS俱乐总部,帝豪GS两年用车感受
  3. @PropertySource注解获取配置文件值
  4. 计算机集群用什么网络,什么是计算机系统集群?
  5. python怎么命名未知数_用Python解方程
  6. xgboost 怎么读_【泰语单词】“祸从口出”泰语怎么表达?意想不到的简单
  7. Java进阶:SpringMVC
  8. Cesium:在地球上加载Geoserver图层
  9. mysql中join操作_Mysql中的join操作
  10. 时间和日期的JS库Moment.js常见用法总结