python实例代码 - 多层感知机预测销售情况

多层感知器预测销售情况

将一种广告投放到TV、newspaper、radio上时不同组合的情况会对应不同的销售量。

# -*- coding:utf-8 -*-
# PredicateAdvertise.py
# 多层感知器预测销售情况
# 将一种广告投放到TV、newspaper、radio上时不同组合的情况会对应不同的销售量。
import tensorflow as tf
import pandas as pd
import matplotlib.pyplot as plt
import osDATA_DIR = ''# 数据结构和数据分析工具
data = pd.read_csv("Advertising.csv")
print(data.head())
# plt.scatter(data.TV,data.sales)
plt.show()
#  x取值除去第一列和最后一列的值取出所有投放广告的值
x = data.iloc[:, 1:-1]
#  y取值最后一列销量的值
y = data.iloc[:, -1]
# print(x)
# print(y)
# 建立顺序模型【输入层:一个多层感知器(隐含层10层Dense(10),形状input_shape=(3,)3维,激活函数activation="relu"),输出层:因为输出是一个值所以维度1】
model = tf.keras.Sequential([tf.keras.layers.Dense(10, input_shape=(3,), activation='relu'), tf.keras.layers.Dense(1)])
# 打印出模型概述信息
model.summary()
# 返回包含模型配置信息的字典
# print(model.get_config())
# 构建学习流程 optimizer = 优化器,loss = 损失函数,metrics = ["准确率”]
# 优化方法:adam 沿着梯度下降的方向计算变量
# 优化目标:以均方差为损失函数
model.compile(optimizer='adam', loss='mse')
# 测试数据与模型的拟合,输入训练模型 epochs 训练次数
# #参数epochs=1000:使用梯度下降法优化损失函数,下降1000次后停止 以 32 个样本为一个 batch 进行迭代
hist = model.fit(x, y, epochs=1000, batch_size=32)
# model.fit 方法返回一个 History 回调,它具有包含连续误差的列表和其他度量的 history 属性。
# print(hist.history)
# 测试预测数据
test = data.iloc[:2, 1:-1]
# print(test)
# print(data.iloc[:2, -1])
# 输入测试数据,输出预测结果
print(model.predict(test))# 保存模型
saved_out_path = os.path.join(DATA_DIR, 'saved_models/1555630614')
model.save(saved_out_path)
# 存储和处理大容量科学数据设计的文件格式及相应库文件
# model.save("my_model.h5")# 保存为 JSON 请注意,该表示不包括权重,只包含结构
# json_string = model.to_json()
# 保存为 YAML 请注意,该表示不包括权重,只包含结构
# yaml_string = model.to_yaml()print('[Info] 存储saved模型完成! {}'.format(saved_out_path))
# -*- coding:utf-8 -*-
# PredicateAdvertiseLoad.py
# 从保存的模型重新加载新的 keras 模型
import tensorflow as tf
import pandas as pddata = pd.read_csv("Advertising.csv")
test = data.iloc[:1, 1:-1]# 重新实例化模型
model = tf.keras.models.load_model("saved_models/1555630614")
model.summary()print(model.predict(test))
# 测试 Serving 服务
# Serving.py
import pandas as pd
import requests
import jsondata = pd.read_csv("Advertising.csv")
# print(data.head())
test = data.iloc[:1, 1:-1]# 类型为 DataFrame
# print(type(test))
# DataFrame 转 JSON 格式
# pay_load = test.to_json(orient='records')
# print(pay_load)
# DataFrame 转 List 格式
pay_load = test.values.tolist()# 查看状态 http://127.0.0.1:8501/v1/models/sales
# 输入输出格式 http://127.0.0.1:8501/v1/models/sales/metadatapay_load = {"signature_name": "serving_default", "inputs": {"dense_input": pay_load}}
# print(pay_load)
SERVER_URL = 'http://127.0.0.1:8501/v1/models/sales:predict'
response = requests.post(SERVER_URL, json=pay_load)
print(response.json()['outputs'][0])

数据:Advertising.csv
TV radio newspaper sales
1 230.1 37.8 69.2 22.1
2 44.5 39.3 45.1 10.4
3 17.2 45.9 69.3 9.3
4 151.5 41.3 58.5 18.5
5 180.8 10.8 58.4 12.9
6 8.7 48.9 75 7.2
7 57.5 32.8 23.5 11.8
8 120.2 19.6 11.6 13.2
9 8.6 2.1 1 4.8
10 199.8 2.6 21.2 10.6
11 66.1 5.8 24.2 8.6
12 214.7 24 4 17.4
13 23.8 35.1 65.9 9.2
14 97.5 7.6 7.2 9.7
15 204.1 32.9 46 19
16 195.4 47.7 52.9 22.4
17 67.8 36.6 114 12.5
18 281.4 39.6 55.8 24.4
19 69.2 20.5 18.3 11.3
20 147.3 23.9 19.1 14.6
21 218.4 27.7 53.4 18
22 237.4 5.1 23.5 12.5
23 13.2 15.9 49.6 5.6
24 228.3 16.9 26.2 15.5
25 62.3 12.6 18.3 9.7
26 262.9 3.5 19.5 12
27 142.9 29.3 12.6 15
28 240.1 16.7 22.9 15.9
29 248.8 27.1 22.9 18.9
30 70.6 16 40.8 10.5
31 292.9 28.3 43.2 21.4
32 112.9 17.4 38.6 11.9
33 97.2 1.5 30 9.6
34 265.6 20 0.3 17.4
35 95.7 1.4 7.4 9.5
36 290.7 4.1 8.5 12.8
37 266.9 43.8 5 25.4
38 74.7 49.4 45.7 14.7
39 43.1 26.7 35.1 10.1
40 228 37.7 32 21.5
41 202.5 22.3 31.6 16.6
42 177 33.4 38.7 17.1
43 293.6 27.7 1.8 20.7
44 206.9 8.4 26.4 12.9
45 25.1 25.7 43.3 8.5
46 175.1 22.5 31.5 14.9
47 89.7 9.9 35.7 10.6
48 239.9 41.5 18.5 23.2
49 227.2 15.8 49.9 14.8
50 66.9 11.7 36.8 9.7
51 199.8 3.1 34.6 11.4
52 100.4 9.6 3.6 10.7
53 216.4 41.7 39.6 22.6
54 182.6 46.2 58.7 21.2
55 262.7 28.8 15.9 20.2
56 198.9 49.4 60 23.7
57 7.3 28.1 41.4 5.5
58 136.2 19.2 16.6 13.2
59 210.8 49.6 37.7 23.8
60 210.7 29.5 9.3 18.4
61 53.5 2 21.4 8.1
62 261.3 42.7 54.7 24.2
63 239.3 15.5 27.3 15.7
64 102.7 29.6 8.4 14
65 131.1 42.8 28.9 18
66 69 9.3 0.9 9.3
67 31.5 24.6 2.2 9.5
68 139.3 14.5 10.2 13.4
69 237.4 27.5 11 18.9
70 216.8 43.9 27.2 22.3
71 199.1 30.6 38.7 18.3
72 109.8 14.3 31.7 12.4
73 26.8 33 19.3 8.8
74 129.4 5.7 31.3 11
75 213.4 24.6 13.1 17
76 16.9 43.7 89.4 8.7
77 27.5 1.6 20.7 6.9
78 120.5 28.5 14.2 14.2
79 5.4 29.9 9.4 5.3
80 116 7.7 23.1 11
81 76.4 26.7 22.3 11.8
82 239.8 4.1 36.9 12.3
83 75.3 20.3 32.5 11.3
84 68.4 44.5 35.6 13.6
85 213.5 43 33.8 21.7
86 193.2 18.4 65.7 15.2
87 76.3 27.5 16 12
88 110.7 40.6 63.2 16
89 88.3 25.5 73.4 12.9
90 109.8 47.8 51.4 16.7
91 134.3 4.9 9.3 11.2
92 28.6 1.5 33 7.3
93 217.7 33.5 59 19.4
94 250.9 36.5 72.3 22.2
95 107.4 14 10.9 11.5
96 163.3 31.6 52.9 16.9
97 197.6 3.5 5.9 11.7
98 184.9 21 22 15.5
99 289.7 42.3 51.2 25.4
100 135.2 41.7 45.9 17.2
101 222.4 4.3 49.8 11.7
102 296.4 36.3 100.9 23.8
103 280.2 10.1 21.4 14.8
104 187.9 17.2 17.9 14.7
105 238.2 34.3 5.3 20.7
106 137.9 46.4 59 19.2
107 25 11 29.7 7.2
108 90.4 0.3 23.2 8.7
109 13.1 0.4 25.6 5.3
110 255.4 26.9 5.5 19.8
111 225.8 8.2 56.5 13.4
112 241.7 38 23.2 21.8
113 175.7 15.4 2.4 14.1
114 209.6 20.6 10.7 15.9
115 78.2 46.8 34.5 14.6
116 75.1 35 52.7 12.6
117 139.2 14.3 25.6 12.2
118 76.4 0.8 14.8 9.4
119 125.7 36.9 79.2 15.9
120 19.4 16 22.3 6.6
121 141.3 26.8 46.2 15.5
122 18.8 21.7 50.4 7
123 224 2.4 15.6 11.6
124 123.1 34.6 12.4 15.2
125 229.5 32.3 74.2 19.7
126 87.2 11.8 25.9 10.6
127 7.8 38.9 50.6 6.6
128 80.2 0 9.2 8.8
129 220.3 49 3.2 24.7
130 59.6 12 43.1 9.7
131 0.7 39.6 8.7 1.6
132 265.2 2.9 43 12.7
133 8.4 27.2 2.1 5.7
134 219.8 33.5 45.1 19.6
135 36.9 38.6 65.6 10.8
136 48.3 47 8.5 11.6
137 25.6 39 9.3 9.5
138 273.7 28.9 59.7 20.8
139 43 25.9 20.5 9.6
140 184.9 43.9 1.7 20.7
141 73.4 17 12.9 10.9
142 193.7 35.4 75.6 19.2
143 220.5 33.2 37.9 20.1
144 104.6 5.7 34.4 10.4
145 96.2 14.8 38.9 11.4
146 140.3 1.9 9 10.3
147 240.1 7.3 8.7 13.2
148 243.2 49 44.3 25.4
149 38 40.3 11.9 10.9
150 44.7 25.8 20.6 10.1
151 280.7 13.9 37 16.1
152 121 8.4 48.7 11.6
153 197.6 23.3 14.2 16.6
154 171.3 39.7 37.7 19
155 187.8 21.1 9.5 15.6
156 4.1 11.6 5.7 3.2
157 93.9 43.5 50.5 15.3
158 149.8 1.3 24.3 10.1
159 11.7 36.9 45.2 7.3
160 131.7 18.4 34.6 12.9
161 172.5 18.1 30.7 14.4
162 85.7 35.8 49.3 13.3
163 188.4 18.1 25.6 14.9
164 163.5 36.8 7.4 18
165 117.2 14.7 5.4 11.9
166 234.5 3.4 84.8 11.9
167 17.9 37.6 21.6 8
168 206.8 5.2 19.4 12.2
169 215.4 23.6 57.6 17.1
170 284.3 10.6 6.4 15
171 50 11.6 18.4 8.4
172 164.5 20.9 47.4 14.5
173 19.6 20.1 17 7.6
174 168.4 7.1 12.8 11.7
175 222.4 3.4 13.1 11.5
176 276.9 48.9 41.8 27
177 248.4 30.2 20.3 20.2
178 170.2 7.8 35.2 11.7
179 276.7 2.3 23.7 11.8
180 165.6 10 17.6 12.6
181 156.6 2.6 8.3 10.5
182 218.5 5.4 27.4 12.2
183 56.2 5.7 29.7 8.7
184 287.6 43 71.8 26.2
185 253.8 21.3 30 17.6
186 205 45.1 19.6 22.6
187 139.5 2.1 26.6 10.3
188 191.1 28.7 18.2 17.3
189 286 13.9 3.7 15.9
190 18.7 12.1 23.4 6.7
191 39.5 41.1 5.8 10.8
192 75.5 10.8 6 9.9
193 17.2 4.1 31.6 5.9
194 166.8 42 3.6 19.6
195 149.7 35.6 6 17.3
196 38.2 3.7 13.8 7.6
197 94.2 4.9 8.1 9.7
198 177 9.3 6.4 12.8
199 283.6 42 66.2 25.5
200 232.1 8.6 8.7 13.4

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ai】trition:tritonclient yolov4:部署ubuntu18.04

X:\05_trition_yolov4_clients\01-python server代码在115上,client本想在windows上, 【ai】trition:tritonclient.utils.shared_memory 仅支持linux 看起来要分离。 client代码远程部署在ubuntu18.04上 ubuntu18.04 创建yolov4-trition python=3.7 环境 (base) zhangbin@ub…

基于matlab的图像灰度化与图像反白

1原理 2.1 图像灰度化原理 图像灰度化是将彩色图像转换为灰度图像的过程,使得每个像素点仅包含一个灰度值,从而简化了图像的复杂度。灰度化原理主要可以分为以下几种方法: 亮度平均法 原理:将图像中每个像素的RGB值的平均值作为…

[深度学习] 生成对抗网络GAN

生成对抗网络(Generative Adversarial Networks,GANs)是一种由 Ian Goodfellow 等人在2014年提出的深度学习模型Generative Adversarial Networks。GANs的基本思想是通过两个神经网络(生成器和判别器)的对抗过程&#…

深度分析:Apache Hadoop及其在大数据处理中的应用

引言 在大数据处理领域,Apache Hadoop因其强大的分布式计算能力和存储能力,已成为数据密集型应用的核心技术。自2006年开源以来,Hadoop已经发展成为一个庞大的生态系统,支持各种数据处理任务。本文将深入分析Hadoop的核心特点&am…

VMware vCenter Server 8.0U3 发布下载 - 集中式管理 vSphere 环境

VMware vCenter Server 8.0U3 发布下载 - 集中式管理 vSphere 环境 Server Management Software | vCenter 请访问原文链接:https://sysin.org/blog/vmware-vcenter-8-u3/,查看最新版。原创作品,转载请保留出处。 作者主页:sys…

Python项目开发实战,网站App平台注册用户分析_案例教程编程实例课程详解

在Python项目开发实战中,针对网站或App平台注册用户进行深入分析是一项重要任务。这不仅有助于了解用户行为、优化产品功能,还能为市场推广和决策制定提供有力支持。以下是一个详细的用户分析流程,涵盖数据收集、预处理、分析以及结果呈现等关键环节。 一、引言 在数字化时代…

如何解决ssh远程连接自动断开的问题

文章目录 1. 问题描述2. 配置SSH设置2.1 调整服务器端的设置2.2 调整客户端的设置 3. 调整用户断开时长 1. 问题描述 SSH 远程连接断开是一个常见的问题,尤其是在网络不稳定或长时间没有活动时。文本介绍一些常见的方法和技巧来保持 SSH 连接稳定和避免断开。 2. …

新手指南:如何用 VSCode 编写 Go 语言入门代码

本章教程,主要介绍如何在VSCODE中,运行GO语言的入门代码。 一、准备一个GO语言代码 一个很简单的代码,用GO语言在控制台打印输出:Hello, World! package mainimport "fmt"func main() {fmt.Println("Hello, World!") }二、安装GO语言SDK 下载地址:

flex的三个参数

参考 flex布局(grow shrink basis) flex中有三个参数分别是grow shrink basis flex-grow 属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。只要不为0就会占用剩余空间 flex-shrink 属性定义了项目的缩小比例,默认为…

基于Python/MNE处理fnirs数据

功能性近红外光谱技术在脑科学领域被广泛应用,市面上也已经有了许多基于MATLAB的优秀工具包及相关教程,如:homer、nirs_spm等。而本次教程将基于Python的MNE库对fNIRS数据进行处理。 本次教程基于:https://mne.tools/stable/auto_…

【AI研发工具包】sklearn教程(Scikit-learn)

目录 1. 引言 2. 安装sklearn 3. 导入sklearn 4. 加载数据集 5. 数据预处理 6. 训练模型 7. 评估模型 8. 保存和加载模型 9. 自定义数据 10. 深入sklearn 11. 注意事项 1. 引言 Scikit-learn(简称sklearn)是Python中一个非常流行的机器学习库…

自动驾驶系统功能安全解决方案解析

电信、公用事业、运输和国防等关键基础设施服务需要定位、导航和授时(PNT)技术来运行。但是,广泛采用定位系统(GPS)作为PNT信息的主要会引入漏洞。 在为关键基础设施制定PNT解决方案时,运营商必须做出两个…

运维入门技术——监控的三个维度(非常详细)零基础收藏这一篇就够了_监控维度怎么区分

一个好的监控系统最后要做到的形态:实现Metrics、Tracing、Logging的融合。监控的三个维度也就是Metrics、Tracing、Logging。 Metrics Metrics也就是我们常说的指标。 首先它的典型特征就是可聚合(aggregatable).什么是可聚合的呢,简单讲可聚合就是一种基本单位可以在一种维…

uniapp标题水平对齐微信小程序胶囊按钮及适配

uniapp标题水平对齐微信小程序胶囊按钮及适配 状态栏高度胶囊按钮的信息计算顶部边距模板样式 标签加样式加动态计算实现效果 状态栏高度 获取系统信息里的状态栏高度 const statusBarHeight uni.getSystemInfoSync().statusBarHeight;//系统信息里的状态栏高度胶囊按钮的…

钢筋计在工程项目中的关键应用与优势

在长期工程项目中,如大型桥梁、高层建筑或深基坑工程中,钢筋是承载结构的重要组成部分。为确保工程质量和安全,监测与管理钢筋的状态至关重要。钢筋计作为一种先进的监测工具,在长期工程项目中发挥着不可替代的作用。 1. 钢筋计的…

赶紧收藏!2024 年最常见的操作系统面试题(五)

上一篇地址:赶紧收藏!2024 年最常见的操作系统面试题(四)-CSDN博客 九、请解释什么是I/O多路复用,以及它如何提高性能? I/O多路复用是一种在计算机编程中用于处理多个输入/输出(I/O&#xff0…

实现全球平台软件业务的快速部署

要实现全球平台软件业务的快速部署,可以遵循以下清晰的步骤和策略,这些步骤结合了参考文章中的相关信息和最佳实践: 1. 选择云部署策略: - 利用云计算平台,佰优联的全球节点,以节省前期投资和缩短应用部…

Spring Boot 学习第八天:AOP代理机制对性能的影响

1 概述 在讨论动态代理机制时,一个不可避免的话题是性能。无论采用JDK动态代理还是CGLIB动态代理,本质上都是在原有目标对象上进行了封装和转换,这个过程需要消耗资源和性能。而JDK和CGLIB动态代理的内部实现过程本身也存在很大差异。下面将讨…

Guacd运行一段时间后,不能创建与远程主机的连接,重启方能解决

问题表象: 使用guacamole搭建远程桌面访问,使用guacamole版本为1.5.4。连接远程主机使用rdp协议。运行过程中发现,各几个小时,guacamole连接就会断连,点击重新连接一直是连接不上,重启guacd后,点…

网络编程基础语法

网络编程 Java.net.*包下面提供了网络编程的解决方案 基本架构 C/S架构 Client客户端 需要程序员开发 用户需要安装 Server服务端 需要程序员开发实现 B/S架构 …