利用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使用xauth方式登录饭否网然后发消息
Apr 11 Python
python在windows和linux下获得本机本地ip地址方法小结
Mar 20 Python
在Linux下使用Python的matplotlib绘制数据图的教程
Jun 11 Python
Python tkinter模块中类继承的三种方式分析
Aug 08 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
May 07 Python
python实现linux下抓包并存库功能
Jul 18 Python
对Python中for复合语句的使用示例讲解
Nov 01 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
python用post访问restful服务接口的方法
Dec 07 Python
python安装pil库方法及代码
Jun 25 Python
Python第三方库的几种安装方式(小结)
Apr 03 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
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
PHP 循环删除无限分类子节点的实现代码
2013/06/21 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
功能强大的php分页函数
2016/07/20 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
js使用post 方式打开新窗口
2015/02/26 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
2020/01/02 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
python 如何在测试中使用 Mock
2021/03/01 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
答谢会策划方案
2014/05/12 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
后进生评语大全
2015/01/04 职场文书
中秋节慰问信
2015/02/15 职场文书
怎样写观后感
2015/06/19 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
同学会演讲稿
2019/04/02 职场文书
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript