Tensorflow实现酸奶销量预测分析

 更新时间:2019年07月19日 14:06:47   作者:卡卡罗特的爸爸  
这篇文章主要为大家详细介绍了Tensorflow酸奶销量预测分析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Tensorflow酸奶销量预测分析的具体代码,供大家参考,具体内容如下

# coding:utf-8
# 酸奶成本为1元,利润为9元
# 预测少了相应的损失较大,故不要预测少
# 导入相应的模块
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
 
BATCH_SIZE=8
SEED=23455
COST=3
PROFIT=4
 
rdm=np.random.RandomState(SEED)
X=rdm.randn(100,2)
Y_=[[x1+x2+(rdm.rand()/10.0-0.05)] for (x1,x2) in X]
 
# 定义神经网络的输入、参数和输出,定义向前传播过程
x=tf.placeholder(tf.float32,shape=(None,2))
y_=tf.placeholder(tf.float32,shape=(None,1))
w1=tf.Variable(tf.random_normal([2,1],stddev=1,seed=1))
y=tf.matmul(x,w1)
 
# 定义损失函数和反向传播过程
loss=tf.reduce_sum(tf.where(tf.greater(y,y_),(y-y_)*COST,(y_-y)*PROFIT)) #损失函数要根据不同的模型进行变换
train_step=tf.train.GradientDescentOptimizer(0.001).minimize(loss)
 
# sess=tf.Session()
# STEPS=20000
# init_op=tf.global_variables_initializer()
# sess.run(init_op)
# for i in range(STEPS):
#  start=(i*BATCH_SIZE)%32
#  end=start+BATCH_SIZE
#  sess.run(train_step,feed_dict={x:X[start:end],y_:Y[start:end]})
#  if i%500==0:
#
#   print("After %d steps,w1 is %f",(i,sess.run(w1)))
 
sess=tf.Session()
init_op=tf.global_variables_initializer()
sess.run(init_op)
STEPS=20000
for i in range(STEPS):
 start=(i*BATCH_SIZE)%100
 end=start+BATCH_SIZE
 sess.run(train_step,feed_dict={x:X[start:end],y_:Y_[start:end]})
 if i%500==0:
  print("After %d steps"%(i))
  # print(sess.run(loss_mse))
  # print("Loss is:%f",sess.run(loss_mse,feed_dict={y_:Y_,y:Y_}))
  print("w1 is:",sess.run(w1))
 print("Final is :",sess.run(w1))
 
xx,yy=np.mgrid[-3:3:.01,-3:3:.01]
grid=np.c_[xx.ravel(),yy.ravel()]
probs=sess.run(y,feed_dict={x:grid})
probs=probs.reshape(xx.shape)
 
plt.scatter(X[:,0],X[:,1],c=np.squeeze(Y_))
plt.contour(xx,yy,probs,[.9])
plt.show()

通过改变COST和PROFIT的值近而可以得出,当COST=1,PROFIT=9时,基于损失函数,模型的w1=1.02,w2=1.03说明模型会往多了预测;当COST=9,PROFIT=1时模型的w1=0.96,w2=0.97说明模型在往少了预测。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python获取时间及时间格式转换问题实例代码详解

    python获取时间及时间格式转换问题实例代码详解

    这篇文章主要介绍了python获取时间及时间格式转换,需要的朋友可以参考下
    2018-12-12
  • python操作jira添加模块的方法

    python操作jira添加模块的方法

    在开发工作中,Jira通常用作BUG管理和任务跟踪管理等,项目经理,测试人员,开发人员等在Jira上进行提交BUG,提交任务,修改任务进度等操作.本文重点给大家介绍python操作jira添加模块的方法,感兴趣的朋友一起看看吧
    2022-03-03
  • Python操作json数据的一个简单例子

    Python操作json数据的一个简单例子

    这篇文章主要介绍了Python操作json数据的一个简单例子,需要的朋友可以参考下
    2014-04-04
  • python绘制封闭多边形教程

    python绘制封闭多边形教程

    今天小编就为大家分享一篇python绘制封闭多边形教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python代码打包超详细教程

    python代码打包超详细教程

    在Python开发的过程中我们经常会需要将自己的代码打包成一个可执行文件,方便将代码分享给其他人使用,下面这篇文章主要给大家介绍了关于python代码打包的相关资料,需要的朋友可以参考下
    2023-06-06
  • 宝塔部署django项目的实现步骤(图文教程)

    宝塔部署django项目的实现步骤(图文教程)

    本文主要介绍了宝塔部署django项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • pycharm 更改创建文件默认路径的操作

    pycharm 更改创建文件默认路径的操作

    今天小编就为大家分享一篇pycharm 更改创建文件默认路径的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python黑魔法库安装及操作字典示例详解

    Python黑魔法库安装及操作字典示例详解

    这篇文章主要为大家介绍了Python中黑魔法库的安装及操作字典的示例详解,有需要的 朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • python爬虫之异常捕获及标签过滤详解

    python爬虫之异常捕获及标签过滤详解

    今天带大家了解python异常捕获及标签过滤,文中有非常详细的代码示例,对正在学习python爬虫的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • python检测远程udp端口是否打开的方法

    python检测远程udp端口是否打开的方法

    这篇文章主要介绍了python检测远程udp端口是否打开的方法,涉及Python操作socket实现检测udp端口的技巧,需要的朋友可以参考下
    2015-03-03

最新评论