利用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的urllib2模块处理url和图片的技巧两则
Feb 18 Python
Python贪心算法实例小结
Apr 22 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
详解python 爬取12306验证码
May 10 Python
修改 CentOS 6.x 上默认Python的方法
Sep 06 Python
pytorch中的上采样以及各种反操作,求逆操作详解
Jan 03 Python
在TensorFlow中屏蔽warning的方式
Feb 04 Python
django xadmin中form_layout添加字段显示方式
Mar 30 Python
使用python无账号无限制获取企查查信息的实例代码
Apr 17 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
Apr 21 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 Python
Python turtle编写简单的球类小游戏
Mar 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
简单的php写入数据库类代码分享
2011/07/26 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
vue之延时刷新实例
2019/11/14 Javascript
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
python类继承用法实例分析
2015/05/27 Python
python+Django+apache的配置方法详解
2016/06/01 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
详解python做UI界面的方法
2019/02/27 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
python异常处理和日志处理方式
2019/12/24 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
Python基于callable函数检测对象是否可被调用
2020/10/16 Python
Django配置跨域并开发测试接口
2020/11/04 Python
前台文员岗位职责及工作流程
2013/11/19 职场文书
儿子婚宴答谢词
2014/01/09 职场文书
通信研究生自荐信
2014/02/01 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
装修施工安全责任书
2014/07/24 职场文书
中秋晚会活动方案
2014/08/31 职场文书
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
护士求职自荐信
2015/03/25 职场文书
个人工作违纪检讨书
2015/05/05 职场文书