利用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最简单的接口自动化框架
Jan 02 Python
Python实现扣除个人税后的工资计算器示例
Mar 26 Python
Tensorflow中的placeholder和feed_dict的使用
Jul 09 Python
python实现反转部分单向链表
Sep 27 Python
对Django中内置的User模型实例详解
Aug 16 Python
Django接收自定义http header过程详解
Aug 23 Python
使用Python刷淘宝喵币(低阶入门版)
Oct 30 Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 Python
python使用numpy实现直方图反向投影示例
Jan 17 Python
Pandas将列表(List)转换为数据框(Dataframe)
Apr 24 Python
aws 通过boto3 python脚本打pach的实现方法
May 10 Python
python让函数不返回结果的方法
Jun 22 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扩展介绍与开发教程
2010/08/19 PHP
基于PHP异步执行的常用方式详解
2013/06/03 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
jQuery实现简易QQ聊天框
2020/02/10 jQuery
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
Python实现CET查分的方法
2015/03/10 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
在Mac中配置Python虚拟环境过程解析
2020/06/22 Python
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
园艺师求职信
2014/04/27 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
校园开放日新闻稿
2015/07/17 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
python实现高效的遗传算法
2021/04/07 Python
Python中os模块的简单使用及重命名操作
2021/04/17 Python
为什么node.js不适合大型项目
2021/04/28 Javascript
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery
python 多态 协议 鸭子类型详解
2021/11/27 Python