利用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 相关文章推荐
使用graphics.py实现2048小游戏
Mar 10 Python
详解python中的文件与目录操作
Jul 11 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
Apr 10 Python
使用pycharm生成代码模板的实例
May 23 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
Dec 17 Python
详解如何减少python内存的消耗
Aug 09 Python
python base64库给用户名或密码加密的流程
Jan 02 Python
计算Python Numpy向量之间的欧氏距离实例
May 22 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
Aug 07 Python
Python之matplotlib绘制饼图
Apr 13 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
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
JS简单实现数组去重的方法示例
2017/03/27 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用
2019/04/11 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
Python中AND、OR的一个使用小技巧
2015/02/18 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
python制作小说爬虫实录
2017/08/14 Python
Python读取Word(.docx)正文信息的方法
2018/03/15 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
python实现飞行棋游戏
2020/02/05 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
HTML5 与 XHTML2
2008/10/17 HTML / CSS
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
公司周年庆典邀请函
2014/01/12 职场文书
食品行业求职人的自我评价
2014/01/19 职场文书
安全生产专项整治方案
2014/05/06 职场文书
环保建议书200字
2014/05/14 职场文书
开发房地产协议书
2014/09/14 职场文书
聘任证明怎么写
2015/03/02 职场文书
4S店销售内勤岗位职责
2015/04/13 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python
全新239军机修复记
2022/04/05 无线电