利用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 排列组合之itertools
Mar 20 Python
python字符串编码识别模块chardet简单应用
Jun 15 Python
Python 迭代器工具包【推荐】
May 06 Python
python reduce 函数使用详解
Dec 05 Python
解决pandas 作图无法显示中文的问题
May 24 Python
Python3数字求和的实例
Feb 19 Python
python占位符输入方式实例
May 27 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
Python unittest装饰器实现原理及代码
Sep 08 Python
pytorch中的numel函数用法说明
May 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
解析php中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
原生js实现购物车
2020/09/23 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
Python魔术方法专题
2020/06/19 Python
Python实现一个优先级队列的方法
2020/07/31 Python
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
巴西宠物商店:Cobasi
2019/04/19 全球购物
进程的查看和调度分别使用什么命令
2015/03/25 面试题
高校自主招生自荐信
2013/12/09 职场文书
班主任寄语大全
2014/04/04 职场文书
敬老月活动总结
2014/08/28 职场文书
打架检讨书
2015/01/27 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
redis数据结构之压缩列表
2022/03/21 Redis