利用keras使用神经网络预测销量操作


Posted in Python onJuly 07, 2020

keras非常方便。

不解释,直接上实例。

数据格式如下:

序号 天气 是否周末  是否有促销  销量
1  坏  是  是  高
2  坏  是  是  高
3  坏  是  是  高
4  坏  否  是  高
5  坏  是  是  高
6  坏  否  是  高
7  坏  是  否  高
8  好  是  是  高
9  好  是  否  高
10 好  是  是  高
11 好  是  是  高
12 好  是  是  高
13 好  是  是  高
14 坏  是  是  低
15 好  否  是  高
16 好  否  是  高
17 好  否  是  高
18 好  否  是  高
19 好  否  否  高
20 坏  否  否  低
21 坏  否  是  低
22 坏  否  是  低
23 坏  否  是  低
24 坏  否  否  低
......

代码如下:

#-*- coding: utf-8 -*-
#使用神经网络算法预测销量高低
import pandas as pd
#参数初始化
inputfile = 'data/sales_data.xls'
data = pd.read_excel(inputfile, index_col = u'序号') #导入数据

#数据是类别标签,要将它转换为数据
#用1来表示“好”、“是”、“高”这三个属性,用0来表示“坏”、“否”、“低”
data[data == u'好'] = 1
data[data == u'是'] = 1
data[data == u'高'] = 1
data[data != 1] = 0
x = data.iloc[:,:3].as_matrix().astype(int)
y = data.iloc[:,3].as_matrix().astype(int)
print x
from keras.models import Sequential
from keras.layers.core import Dense, Activation,Dropout

model = Sequential()
model.add(Dense(64, input_shape=(3,)))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy',
       optimizer='rmsprop',
       metrics=['accuracy'])
#编译模型。由于我们做的是二元分类,所以我们指定损失函数为binary_crossentropy,以及模式为binary
#另外常见的损失函数还有mean_squared_error、categorical_crossentropy等,请阅读帮助文件。
#求解方法我们指定用adam,还有sgd、rmsprop等可选

model.fit(x, y, nb_epoch = 1000, batch_size = 10) #训练模型,学习一千次
yp = model.predict_classes(x).reshape(len(y)) #分类预测
10/34 [=======>......................] - ETA: 0s - loss: 0.3723 - acc: 0.8000
34/34 [==============================] - 0s - loss: 0.4470 - acc: 0.7647   
Epoch 1000/1000

结果为经过1000轮训练准确率为0.7647.

补充知识:利用Keras搭建神经网络进行回归预测

我就废话不多说了,大家还是直接看代码吧~

from keras.datasets import boston_housing
from keras import models
from keras import layers
 
(X_train, y_train), (X_test, y_test) = boston_housing.load_data()#加载数据
 
#对数据进行标准化预处理,方便神经网络更好的学习
mean = X_train.mean(axis=0)
X_train -= mean
std = X_train.std(axis=0)
X_train /= std
X_test -= mean
X_test /= std
 
#构建神经网络模型
def build_model():
  #这里使用Sequential模型
  model = models.Sequential()
  #进行层的搭建,注意第二层往后没有输入形状(input_shape),它可以自动推导出输入的形状等于上一层输出的形状
  model.add(layers.Dense(64, activation='relu',input_shape=(X_train.shape[1],)))
  model.add(layers.Dense(64, activation='relu'))
  model.add(layers.Dense(1))
  #编译网络
  model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])
  return model
 
num_epochs = 100
model = build_model()
model.fit(X_train, y_train,epochs=num_epochs, batch_size=1, verbose=0)
predicts = model.predict(X_test)

在实际操作中可以用自己的数据进行测试,最终预测出的predicts,可以利用回归评价指标和y_test进行模型效果的评价。

以上这篇利用keras使用神经网络预测销量操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
Python外星人入侵游戏编程完整版
Mar 30 Python
python中yaml配置文件模块的使用详解
Apr 27 Python
python实现Excel文件转换为TXT文件
Apr 28 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
Jul 09 Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 Python
Django生成数据库及添加用户报错解决方案
Oct 09 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 Python
python实现简单反弹球游戏
Apr 12 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 Python
Python Mock模块原理及使用方法详解
Jul 07 #Python
opencv 图像礼帽和图像黑帽的实现
Jul 07 #Python
PyTorch: Softmax多分类实战操作
Jul 07 #Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 #Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 #Python
Python基于httpx模块实现发送请求
Jul 07 #Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 #Python
You might like
php的memcache类分享(memcache队列)
2014/03/26 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
PHP实现防止表单重复提交功能【基于token验证】
2018/05/24 PHP
Javascript之this关键字深入解析
2013/11/12 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
elementUI同一页面展示多个Dialog的实现
2020/11/19 Javascript
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
人机交互程序 python实现人机对话
2017/11/14 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
Python解决走迷宫问题算法示例
2018/07/27 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
python实现扫雷小游戏
2020/04/24 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
电气工程和自动化自荐信范文
2013/12/25 职场文书
平安建设工作方案
2014/06/02 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
119消防日活动总结
2014/08/29 职场文书
三方股东合作协议书范本
2014/09/28 职场文书