利用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实现baidu hi自动登录的代码
Feb 10 Python
Python读取ini文件、操作mysql、发送邮件实例
Jan 01 Python
Django视图和URL配置详解
Jan 31 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
Feb 17 Python
Python自定义一个异常类的方法
Jun 27 Python
简单了解python高阶函数map/reduce
Jun 28 Python
Python图片的横坐标汉字实例
Dec 04 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
Feb 17 Python
Python偏函数Partial function使用方法实例详解
Jun 17 Python
详解python算法常用技巧与内置库
Oct 17 Python
Python利用capstone实现反汇编
Apr 06 Python
python处理json数据文件
Apr 11 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之规范编程命名小结
2013/05/15 PHP
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
[JS]点出统计器
2020/10/11 Javascript
一些常用的JS功能函数代码
2009/06/23 Javascript
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
2019/04/17 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
python实现超简单端口转发的方法
2015/03/13 Python
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
python 动态加载的实现方法
2017/12/22 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
浅谈CSS3中display属性的Flex布局的方法
2017/08/14 HTML / CSS
Html5踩坑记之mandMobile使用小记
2020/04/02 HTML / CSS
客户代表实习人员自我鉴定
2013/09/27 职场文书
公司离职证明样本
2014/09/13 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
2014年标准化工作总结
2014/12/17 职场文书
交通事故和解协议书
2015/01/27 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
Python与C++中梯度方向直方图的实现
2022/03/17 Python
delete in子查询不走索引问题分析
2022/07/07 MySQL