利用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采用getopt解析命令行输入参数实例
Sep 30 Python
使用IPython来操作Docker容器的入门指引
Apr 08 Python
Python多进程机制实例详解
Jul 02 Python
python套接字流重定向实例汇总
Mar 03 Python
利用Pycharm断点调试Python程序的方法
Nov 29 Python
通过pykafka接收Kafka消息队列的方法
Dec 27 Python
Python with语句和过程抽取思想
Dec 23 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 Python
python3.7调试的实例方法
Jul 21 Python
PyTorch 中的傅里叶卷积实现示例
Dec 11 Python
两行代码解决Jupyter Notebook中文不能显示的问题
Apr 24 Python
python 远程执行命令的详细代码
Feb 15 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
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
实用函数7
2007/11/08 PHP
PHP 代码规范小结
2012/03/08 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
深入理解Python3中的http.client模块
2017/03/29 Python
Sanic框架Cookies操作示例
2018/07/17 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
pandas数据处理之绘图的实现
2020/06/15 Python
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
PHP面试题附答案
2015/11/28 面试题
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
集团公司总经理岗位职责
2013/12/20 职场文书
应届毕业生通用的自荐书范文
2014/02/07 职场文书
揭牌仪式主持词
2014/03/19 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
高一新生军训方案
2014/05/12 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
同学毕业留言寄语
2015/02/27 职场文书