利用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处理中文编码和判断编码示例
Feb 26 Python
django模型中的字段和model名显示为中文小技巧分享
Nov 18 Python
python实现list元素按关键字相加减的方法示例
Jun 09 Python
利用python批量修改word文件名的方法示例
Oct 17 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
彻彻底底地理解Python中的编码问题
Oct 15 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
python可视化爬虫界面之天气查询
Jul 03 Python
Django中URL的参数传递的实现
Aug 04 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
Aug 05 Python
python-序列解包(对可迭代元素的快速取值方法)
Aug 24 Python
使用PyCharm安装pytest及requests的问题
Jul 31 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
FCKeditor的安装(PHP)
2007/01/13 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
php将图片保存为不同尺寸图片的图片类实例
2015/03/30 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
javascript学习笔记(一)基础知识
2014/09/30 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
AngularJS 自定义指令详解及示例代码
2016/08/17 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
python生成密码字典的方法
2018/07/06 Python
Python global全局变量函数详解
2018/09/18 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
python的help函数如何使用
2020/06/11 Python
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
法国足球商店:Footcenter
2019/07/06 全球购物
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
大学班级干部的自我评价分享
2014/02/10 职场文书
解除租赁合同协议书
2016/03/21 职场文书
python字符串常规操作大全
2021/05/02 Python