利用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实现windows下模拟按键和鼠标点击的方法
Mar 13 Python
python实现自动发送邮件发送多人、群发、多附件的示例
Jan 23 Python
python抓取京东小米8手机配置信息
Nov 13 Python
python实现祝福弹窗效果
Apr 07 Python
python实现二级登陆菜单及安装过程
Jun 21 Python
python获取当前文件路径以及父文件路径的方法
Jul 10 Python
flask框架单元测试原理与用法实例分析
Jul 23 Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 Python
python 连续不等式语法糖实例
Apr 15 Python
增大python字体的方法步骤
Jul 05 Python
python爬虫数据保存到mongoDB的实例方法
Jul 28 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 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 define函数的使用说明
2008/08/27 PHP
关于PHP堆栈与列队的学习
2013/06/21 PHP
PHP页面中文乱码分析
2013/10/29 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
ArrayList类(增强版)
2007/04/04 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
Node.js中的child_process模块详解
2018/06/08 Javascript
JS解惑之Object中的key是有序的么
2019/05/06 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
手把手带你搭建一个node cli的方法示例
2020/08/07 Javascript
python图像处理之反色实现方法
2015/05/30 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
个人委托书怎么写
2014/04/04 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
社区学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
Flask response响应的具体使用
2021/07/15 Python
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python