利用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实现一个简单的能够发送带附件的邮件程序的教程
Apr 08 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
May 17 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
python将秒数转化为时间格式的实例
Sep 16 Python
Python实现的调用C语言函数功能简单实例
Mar 13 Python
Python 实现的 Google 批量翻译功能
Aug 26 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
使用Python爬虫库requests发送表单数据和JSON数据
Jan 25 Python
Python os模块常用方法和属性总结
Feb 20 Python
自学python用什么系统好
Jun 23 Python
如何基于Python和Flask编写Prometheus监控
Nov 25 Python
Python 的 sum() Pythonic 的求和方法详细
Oct 16 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
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
JQuery的ON()方法支持的所有事件罗列
2015/02/28 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
js实现文字在按钮上滚动的方法
2015/08/20 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
Python脚本实现下载合并SAE日志
2015/02/10 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
应届生煤化工求职信
2013/10/21 职场文书
金融学专业大学生职业生涯规划
2014/03/07 职场文书
李敖北大演讲稿
2014/05/24 职场文书
工程催款通知书
2015/04/17 职场文书
党支部审查意见
2015/06/02 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
创业计划书之服装
2019/10/07 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
详解nodejs内置模块
2021/05/06 NodeJs
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python
改造DE1103三步曲
2022/04/07 无线电
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL