Keras入门:一维线性回归问题

目录

一、一维变量线性回归

1. 数据生成

2. 建立训练模型

3. 作图

4. 完整代码


一、一维变量线性回归

1. 数据生成

import keras
import numpy as np
import matplotlib.pyplot as plt
#matplotlib inline
x=np.linspace(0, 100, 30) #0~100之间,生成30个数
y=3*x +7 + np.random.randn(30) #30个服从正态分布的随机数
plt.scatter(x, y)

将数扩大,分布更随机:

y=3*x +7 + np.random.randn(30)*10

2. 建立训练模型

model = keras.Sequential() #Sequential->创建顺序模型实例(输入->输出)
from keras import layers #layers里面有dense层
model.add(layers.Dense(1, input_dim=1))#给模型添加层(单输入,单输出的全链接层)
model.summary()#打印模型的相关参数

输出如下:

Model: "sequential_2"

_________________________________________________________________

Layer (type)                 Output Shape              Param #   

=================================================================

dense_2 (Dense)              (None, 1)                 2         

=================================================================

Total params: 2

Trainable params: 2

Non-trainable params: 0

_________________________________________________________________

#编译模型(定义优化算法和优化的目标)
model.compile( optimizer='adam', loss='mse'  #定义损失函数为:最小化均方误差准则)#训练模型
model.fit(x,y,epochs=3000)
......#开始计算,训练#检验模型
model.predict(x)......

3. 作图

plt.scatter(x, y, c='r') #原数据

plt.plot(x, model.predict(x))


4. 使用模型(数据预测)

model.predict([150])

4. 完整代码

Linear_01.py

import keras
import numpy as np
import matplotlib.pyplot as plt
#matplotlib inline
x = np.linspace(0, 100, 30)
y = 3*x + 7 + np.random.randn(30)*6
model = keras.Sequential()   #顺序模型
from keras import layers
model.add(layers.Dense(1, input_dim=1))
model.summary()
model.compile(optimizer='adam', loss='mse')
model.fit(x, y, epochs=3000)
model.predict(x)
plt.scatter(x, y, c='r')
plt.plot(x, model.predict(x))
model.predict([150])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3268268.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode—154. 寻找旋转排序数组中的最小值 II【困难】

2024每日刷题&#xff08;147&#xff09; Leetcode—154. 寻找旋转排序数组中的最小值 II 实现代码 class Solution { public:int findMin(vector<int>& nums) {int l 0;int r nums.size() - 1;int m -1;while(l < r) {m (r - l) / 2 l;if(nums[m] < n…

Python 机器学习求解 PDE 学习项目——PINN 求解二维 Poisson 方程

本文使用 TensorFlow 1.15 环境搭建深度神经网络&#xff08;PINN&#xff09;求解二维 Poisson 方程: 模型问题 − Δ u f in Ω , u g on Γ : ∂ Ω . \begin{align} -\Delta u & f \quad & \text{in } \Omega,\\ u & g \quad & \text{on } \Gamma:\p…

必应快速收录自动提交链接到IndexNow代码

近来发现bing的搜索量也越来越大了&#xff0c;为了更好的对必应进行seo优化&#xff0c;我们可以把最新的网站文章链接提交给必应IndexNow&#xff0c;以此来加快必应快速收录网站文章链接&#xff0c;那么我们我如何使用php代码来实现提交网站文章链接到必应IndexNow呢&#…

高级网页爬虫开发:Scrapy和BeautifulSoup的深度整合

引言 在互联网时代&#xff0c;数据的价值日益凸显。网页爬虫作为一种自动化获取网页内容的工具&#xff0c;广泛应用于数据挖掘、市场分析、内容聚合等领域。Scrapy是一个强大的网页爬虫框架&#xff0c;而BeautifulSoup则是一个灵活的HTML和XML文档解析库。本文将探讨如何将…

adminPage-vue3依赖TablePage说明文档,表单页快速开发,使用思路及范例(Ⅰ)配置项文档

配置项API 引入思路介绍全文档模拟接口的数据结构TablePage-vue3 API汇总属性插槽Exposes自定义对象formConfig(array<object\> 类型)props&#xff08;object类型&#xff09;tableColumnList(array<object\> 类型) 关于搜索逻辑的细节默认值赋值搜索功能重置功能…

Docker安装 OpenResty详细教程

OpenResty 是一个基于 Nginx 的高性能 Web 平台&#xff0c;它集成了 Lua 脚本语言&#xff0c;使得开发者可以在 Nginx 服务器上轻松地进行动态 Web 应用开发。OpenResty 的核心目标是通过将 Nginx 的高性能与 Lua 的灵活性结合起来&#xff0c;提供一个强大且高效的 Web 开发…

连续被强制执行,营收、利润双降,不良走高,大连银行怎么了?

撰稿|芋圆 来源|贝多财经 中国执行信息公开网于2024年6月12日公布了大连银行的一份被执行记录&#xff0c;记录显示大连银行新增78万元执行标的。值得一提的是&#xff0c;这已经是2024年以来大连银行收到的第二份被执行记录了。 早在2024年2月6日&#xff0c;大连银行就曾有…

内网渗透—内网穿透工具NgrokFRPNPSSPP

前言 主要介绍一下常见的隧道搭建工具&#xff0c;以此来达到一个内网穿透的目的。简单说一下实验滴环境吧&#xff0c;kali作为攻击机&#xff0c;winserver2016作为目标靶机。 kali 192.168.145.171 winserver2016 10.236.44.127 显然它们处于两个不同的局域网&#xff0c…

游戏UI设计大师课:3款游戏 UI 设计模板

很多时候&#xff0c;做设计需要找素材。假如是普通的 UI 界面或者 Banner 等等&#xff0c;在Dribbble、Pinterest、即时设计、Behance 翻看这样的网站&#xff0c;至少可以梳理出一些想法和思路。如果你需要一个更规范的指南&#xff0c;此时&#xff0c;在各种设计规范、官方…

【React】详解“最新”和“最热”切换与排序

文章目录 一、基本概念和初始化二、切换与排序功能的实现1. 函数定义和参数2. 设置活动 Tab3. 定义新列表变量4. 根据排序类型处理列表4.1 按时间降序排序4.2 按点赞数降序排序 5. 更新评论列表 三、渲染导航 Tab 和评论列表1. map 方法2. key 属性3. className 动态赋值4. onC…

Spring Cloud Gateway网关的高级特性以及配置之Route Predicate Factories(路由谓词工厂)

一、Route Predicate Factories&#xff08;路由谓词工厂&#xff09; 还是先来查看官网的说明&#xff1a;点击此处 路由谓词工厂是微服务网关&#xff08;如Spring Cloud Gateway&#xff09;中用于定义路由规则的一种机制。它们用来决定哪些请求应该被路由到特定的服务。 …

web学习笔记(八十三)git

目录 1.Git的基本概念 2.gitee常用的命令 3.解决两个人操作不同文件造成的冲突 4.解决两个人操作同一个文件造成的冲突 1.Git的基本概念 git是一种管理代码的方式&#xff0c;广泛用于软件开发和版本管理。我们通常使用gitee&#xff08;码云&#xff09;来云管理代码。 …

鸿蒙(API 12 Beta2版)【创建NDK工程】

创建NDK工程 下面通过DevEco Studio的NDK工程模板&#xff0c;来演示如何创建一个NDK工程。 说明 不同DevEco Studio版本的向导界面、模板默认参数等会有所不同&#xff0c;请根据实际工程需要&#xff0c;创建工程或修改工程参数。 通过如下两种方式&#xff0c;打开工程创…

【资料分享】2024钉钉杯大数据挑战赛A题思路解析+代码演示

2024第三届钉钉杯大学生大数据挑战赛今天已经开赛&#xff0c;【A题】思路解析代码&#xff0c;资料预览&#xff1a;

【数据结构】二叉树链式结构——感受递归的暴力美学

前言&#xff1a; 在上篇文章【数据结构】二叉树——顺序结构——堆及其实现中&#xff0c;实现了二叉树的顺序结构&#xff0c;使用堆来实现了二叉树这样一个数据结构&#xff1b;现在就来实现而二叉树的链式结构。 一、链式结构 链式结构&#xff0c;使用链表来表示一颗二叉树…

Python 爬虫入门(一):从零开始学爬虫 「详细介绍」

Python 爬虫入门&#xff08;一&#xff09;&#xff1a;从零开始学爬虫 「详细介绍」 前言1.爬虫概念1.1 什么是爬虫&#xff1f;1.2 爬虫的工作原理 2. HTTP 简述2.1 什么是 HTTP&#xff1f;2.2 HTTP 请求2.3 HTTP 响应2.4 常见的 HTTP 方法 3. 网页的组成3.1 HTML3.1.1 HTM…

【MATLAB源码-第238期】基于simulink的三输出单端反激flyback仿真,通过PWM和PID控制能够得到稳定电压。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 概述 反激变换器是一种广泛应用于电源管理的拓扑结构&#xff0c;特别是在需要隔离输入和输出的应用中。它的工作原理是利用变压器的储能和释放能量来实现电压转换和隔离。该图展示了一个通过脉宽调制&#xff08;PWM&#…

基于springboot+vue+uniapp的居民健康监测小程序

开发语言&#xff1a;Java框架&#xff1a;springbootuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#…

【初阶数据结构】9.二叉树(4)

文章目录 5.二叉树算法题5.1 单值二叉树5.2 相同的树5.3 另一棵树的子树5.4 二叉树遍历5.5 二叉树的构建及遍历 6.二叉树选择题 5.二叉树算法题 5.1 单值二叉树 点击链接做题 代码&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* …

虚拟机centos9搭建wordpress

目录 1. 更换yum源更新系统软件包&#xff1a; 1.1备份yum源 1.1.1创建备份目录&#xff1a; 1.1.2移动现有仓库配置文件到备份目录&#xff1a; 1.1.3验证备份&#xff1a; 1.2更换yum源 1.2.1添加yum源 1.2.2删除和建立yum缓存 1.3更新系统软件包 1.4 yum与dnf介绍…