房价预测回归模型--tensorflow2.0学习笔记--tf.keras使用实例

2023-11-19

import tensorflow as tf
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 

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

导入数据:

from sklearn.datasets import fetch_california_housing

housing=fetch_california_housing()#调用函数
print(housing.DESCR)#打印数据集介绍
print(housing.data.shape)#打印x轴数据维度
print(housing.target.shape)#打印y轴数据维度

输出:
在这里插入图片描述
在这里插入图片描述
大概就是介绍了数据来自加州住房数据集,目标变量是加利福尼亚地区的房屋中位价。

import pprint

pprint.pprint(housing.data[0:5])
pprint.pprint(housing.target[0:5])#打印前5组数据
from sklearn.model_selection import train_test_split#数据分类

x_train_all,x_test,y_train_all,y_test = train_test_split(
        housing.data,housing.target,random_state = 7,test_size=0.25)
        #test_size默认0.25,把数据按3:1分给训练集和测试集,random_state随机指定
x_train,x_valid,y_train,y_valid = train_test_split(
        x_train_all,y_train_all,random_state = 11)
        #把训练集总数按1:3分为训练集和数据集

print(x_train_all.shape,y_train_all.shape)#打印数据维度
print(x_train.shape,y_train.shape)
print(x_test.shape,y_test.shape)
print(x_valid.shape,y_valid.shape)

输出:
(15480, 8) (15480,)
(11610, 8) (11610,)
(5160, 8) (5160,)
(3870, 8) (3870,)

from sklearn.preprocessing import StandardScaler#数据标准化

scaler=StandardScaler()
x_train_scaled = scaler.fit_transform(x_train)
x_valid_scaled = scaler.transform(x_valid)
x_test_scaled = scaler.transform(x_test)

模型:

model = keras.models.Sequential([
    keras.layers.Dense(30,activation = 'relu',
                      input_shape = x_train.shape[1:]),
    keras.layers.Dense(1),
])#构建模型,输出为一个数据

model.summary()#显示模型概况参数
model.compile(loss='mean_squared_error',optimizer = 'sgd')
    #loss采用均方差,optimizer采用随机梯度下降法
callbacks = [keras.callbacks.EarlyStopping(
    patience = 5,min_delta=1e-3)]

输出:
在这里插入图片描述
训练数据:

history = model.fit(x_train_scaled,y_train,
                    validation_data = (x_valid_scaled,y_valid),
                    epochs = 50,
                    callbacks = callbacks)

输出:
在这里插入图片描述
画出参数曲线:

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)

在这里插入图片描述
测试集模型评估:

model.evaluate(x_test_scaled,y_test)

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

房价预测回归模型--tensorflow2.0学习笔记--tf.keras使用实例 的相关文章

  • npm插件安装插件失败问题解决办法

    目录 问题索引列表 错误记录 在线地址pdf转word https www camscanner com pdftopic 问题索引列表 1 配置安装自定义位置nodejs 1 1 使用npm安装模块的位置有默认安装位置和指定安装位置 在W
  • Java自学第15天 面向对象(全)

    面向过程 面向对象 面向过程思想 步骤清晰简单 第一步做什么 第二步做什么 面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚 分类的思维模式 思考问题首先会解决问题需要哪些分类 然后对这些分类进行单独思考 最后 才对某个分类下的细
  • javaSE进阶1之static用法

    JavaSE进阶 静态关键字 static static关键字的作用 成员变量分类 静态成员变量 实例成员变量 static修饰成员变量内存原理 static 修饰成员方法的基本用法 成员方法的分类 static修饰成员方法内存原理 sta
  • [原]Pro*C介绍-内嵌SQL

    Translate by Z Jingwei Document address http www db stanford edu ullman fcdb oracle or proc html Pro C介绍内嵌SQL 概要 Pro C语法
  • selenium自动化测试实战

    一 Selenium介绍 Selenium 是什么 一句话 自动化测试工具 它支持各种浏览器 包括 Chrome Safari Firefox 等主流界面式浏览器 如果你在这些浏览器里面安装一个 Selenium 的插件 那么便可以方便地实

随机推荐

  • Java开发中关于实体类的一些注解

    JSONField注解 FastJson中的注解 JSONField 一般作用在get set方法 常用的有以下三个场景 修改字段映射 private String name 实体类序列化为json字符串的时候 该类的name字段 序列化为
  • Integer 和 int

    一 区别 1 Integer是int的包装类 int则是java的一种基本的数据类型 2 Integer变量必须实例化之后才能使用 而int变量不需要实例化 3 Integer实际是对象的引用 当new一个Integer时 实际上生成一个指
  • Hadoop的安装与调试(2)

    本节内容包括 虚拟机的克隆 虚拟机配置 虚拟机IP配置 windows网络配置 虚拟机重命名 固定IP映射 设置mac地址 配置静态IP 测试 进入虚拟机 先登录用户 接下来用以下命令创建三个文件夹 四 虚拟机的克隆 1 先关闭虚拟机 2
  • 一文搞定attntion机制在CNN中的应用,手把手教你在Yolov5中插入attention. Attention结构的创新方法

    免责声明 1 此方法仅提供参考 2 搬了其他博主的操作方法 以贴上路径 3 场景一 什么是Attention 场景二 Attention在cnn上的作用 场景三 常见的Attention机制 场景四 Attention机制的创新思路 场景五
  • HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException:...

    1 HTTP Status 500 Request processing failed nested exception is java lang IllegalArgumentException Control character in
  • U盘在别人电脑上正常显示,插在自己电脑读不出来(只显示CD驱动器)

    问题 同事A用U盘 从同事B电脑上拷贝文件 U盘插在其他同事电脑上都正常使用 插回自己电脑上读不出来 或者只显示CD驱动器 原因 种情况是驱动程序问题导致 可以把U盘插入电脑然后在设备管理里删掉设备重新插入即可 解决步骤 1 插上U盘 2
  • LLM大语言模型-MOSS解读

    原始blog在 notion 中 这里帖一个 notion的链接吧 LLM大语言模型 MOSS解读
  • VsFTP离线安装

    vsftp离线安装 安装包链接 https pan baidu com s 1qNmXWh3Ks5bzc rn1ytchQ 提取码 397i 1 查看服务器是否安装FTP 如图则表示没有安装 Shell gt rpm qa grep vsf
  • 云端开发加速是否可持续?

    云是否已经崛起还有待讨论 但是 目前 大多数开发项目都是在云端进行的 无论是纯云还是混合云 2022 年 Pluralsight 的一项研究表明 75 的组织都在云上构建新产品 云的优势显而易见 几乎无限的容量以及几秒内即可实现的按需扩展
  • C++用两个栈实现队列

    1 基础 队列 先进先出 即插入数据在队尾进行 删除数据在队头进行 栈 后进先出 即插入与删除数据均在栈顶进行 2 思路 两个栈实现一个队列的思想 用pushStack栈作为push数据的栈 用popStack栈作为pop数据的栈 只要是对
  • 如何解决项目管理中遇到的困难?

    其实是四个点 时间 成本 资源 范围 质量 1 这在四个点中 最重要的是质量 唯一不可变的也是质量 因此是一个以质量为中心的 三个点围绕的三角 2 基于第一点 在质量不变的情况下 考虑其它的三个点 时间 成本 范围 平衡也是在这三点之间平衡
  • 【毕业设计源码】基于Uniapp、Vue、Node的校园预约小程序系统(前后分离)

    功能描述 此系统包含小程序端和管理员后台端 小程序端是给用户预约操作的 具有以下模块 1 预约教室 2 取消预约 3 查看教室信息 4 收藏信息 包括新闻 教师 5 查看新闻 6 注册与登录PC管理后台是给后台管理员操作的 具有以下模块 1
  • Java数组笔记及算法练习

    Java数组笔记及算法练习 本文档创作于代码随想录算法训练营一期 参考文献链接 代码随想录 Java数组完全解析 java数组 超详细 文章目录 Java数组笔记及算法练习 1 数组基础 1 1一些基本说明 1 2数组的初始化 1 3数组的
  • 游戏修改器制作教程七:注入DLL的各种姿势

    教程面向有C C 基础的人 最好还要懂一些Windows编程知识 代码一律用Visual Studio 2013编译 如果你还在用VC6请趁早丢掉它 写这个教程只是为了让玩家更好地体验所爱的单机游戏 顺便学到些逆向知识 我不会用网络游戏做示
  • 数据结构——哈希排序

    哈希排序 就是用空间换取时间的一种排序方式 空间利用率达O n 算法思想 如果一个元素序列a里没有重复的元素 而我们需要找最大值或者前几个最大值时 怎么办呢 1 将这个a序列排序 然后直接选出目标值 2 开辟一个b数组 a里的每一个元素对应
  • WDK李宏毅学习笔记第八周01_Point Network

    文章目录 摘要 一 Pointer Network 1 1 目的 1 2 原理 1 3 优点 二 Applications Summarization 2 1 原理 2 2 优点 三 Applications Translation and
  • TensorFlow实战练习

    TensorFlow实战1 TensorFlow实现手写数字识别 前言 MNIST数据集 学习心得 全代码如下 TensorFlow实现手写数字识别 前言 本人正在学习TensorFlow的使用 使用的书籍是 TensorFlow实战 黄文
  • U-net源码讲解(Keras)

    更新 这个项目是2018 8月份写的 时间过得真快 现在都快一年了 其实深度学习这方面各种软硬件更新很快 如果你是新手学Unet 那么用keras版的也是蛮好的 但是到最后有自己的一点需求后再在此基础上搭自己的模块后Keras就显得很麻烦了
  • 浅谈HTTP中Get、Post、Put与Delete请求方式的区别

    1 GET请求会向数据库发索取数据的请求 从而来获取信息 该请求就像数据库的select操作一样 只是用来查询一下数据 不会修改 增加数据 不会影响资源的内容 即该请求不会产生副作用 无论进行多少次操作 结果都是一样的 2 与GET不同的是
  • 房价预测回归模型--tensorflow2.0学习笔记--tf.keras使用实例

    import tensorflow as tf import matplotlib as mpl import matplotlib pyplot as plt matplotlib inline import numpy as np im