利用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中无限元素列表的实现方法
Aug 18 Python
用Python实现通过哈希算法检测图片重复的教程
Apr 02 Python
Python获取系统默认字符编码的方法
Jun 04 Python
Python栈类实例分析
Jun 15 Python
python制作一个桌面便签软件
Aug 09 Python
python非递归全排列实现方法
Apr 10 Python
python 拼接文件路径的方法
Oct 23 Python
python接口自动化(十六)--参数关联接口后传(详解)
Apr 16 Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 Python
Django ORM 查询管理器源码解析
Aug 05 Python
Python3 sys.argv[ ]用法详解
Oct 24 Python
Python如何把Spark数据写入ElasticSearch
Apr 18 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 socke 向指定页面提交数据
2008/07/23 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
Jquery使用css方法改变样式实例
2015/05/18 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
Bootstrap选项卡学习笔记分享
2017/02/13 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
Python字符转换
2008/09/06 Python
深入讲解Python中的迭代器和生成器
2015/10/26 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
Python转换时间的图文方法
2019/07/01 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
详解PyTorch手写数字识别(MNIST数据集)
2019/08/16 Python
django实现支付宝支付实例讲解
2019/10/17 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
食堂员工工作职责
2013/12/18 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
计算机科学与技术专业求职信
2014/09/03 职场文书
服务员态度差检讨书
2014/10/28 职场文书