TensorFlow实现Logistic回归


Posted in Python onSeptember 07, 2018

本文实例为大家分享了TensorFlow实现Logistic回归的具体代码,供大家参考,具体内容如下

1.导入模块

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

from matplotlib import pyplot as plt
%matplotlib inline

#导入tensorflow
import tensorflow as tf

#导入MNIST(手写数字数据集)
from tensorflow.examples.tutorials.mnist import input_data

2.获取训练数据和测试数据

import ssl 
ssl._create_default_https_context = ssl._create_unverified_context

mnist = input_data.read_data_sets('./TensorFlow',one_hot=True)

test = mnist.test
test_images = test.images

train = mnist.train
images = train.images

3.模拟线性方程

#创建占矩阵位符X,Y
X = tf.placeholder(tf.float32,shape=[None,784])
Y = tf.placeholder(tf.float32,shape=[None,10])

#随机生成斜率W和截距b
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))

#根据模拟线性方程得出预测值
y_pre = tf.matmul(X,W)+b

#将预测值结果概率化
y_pre_r = tf.nn.softmax(y_pre)

4.构造损失函数

# -y*tf.log(y_pre_r) --->-Pi*log(Pi)  信息熵公式

cost = tf.reduce_mean(-tf.reduce_sum(Y*tf.log(y_pre_r),axis=1))

5.实现梯度下降,获取最小损失函数

#learning_rate:学习率,是进行训练时在最陡的梯度方向上所采取的「步」长;
learning_rate = 0.01
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)

6.TensorFlow初始化,并进行训练

#定义相关参数

#训练循环次数
training_epochs = 25
#batch 一批,每次训练给算法10个数据
batch_size = 10
#每隔5次,打印输出运算的结果
display_step = 5


#预定义初始化
init = tf.global_variables_initializer()

#开始训练
with tf.Session() as sess:
  #初始化
  sess.run(init)
  #循环训练次数
  for epoch in range(training_epochs):
    avg_cost = 0.
    #总训练批次total_batch =训练总样本量/每批次样本数量
    total_batch = int(train.num_examples/batch_size)
    for i in range(total_batch):
      #每次取出100个数据作为训练数据
      batch_xs,batch_ys = mnist.train.next_batch(batch_size)
      _, c = sess.run([optimizer,cost],feed_dict={X:batch_xs,Y:batch_ys})
      avg_cost +=c/total_batch
    if(epoch+1)%display_step == 0:
      print(batch_xs.shape,batch_ys.shape)
      print('epoch:','%04d'%(epoch+1),'cost=','{:.9f}'.format(avg_cost))
  print('Optimization Finished!')

  #7.评估效果
  # Test model
  correct_prediction = tf.equal(tf.argmax(y_pre_r,1),tf.argmax(Y,1))
  # Calculate accuracy for 3000 examples
  # tf.cast类型转换
  accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))
  print("Accuracy:",accuracy.eval({X: mnist.test.images[:3000], Y: mnist.test.labels[:3000]}))

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

Python 相关文章推荐
python根据时间生成mongodb的ObjectId的方法
Mar 13 Python
Python实现的数据结构与算法之链表详解
Apr 22 Python
python实现文本文件合并
Dec 29 Python
Python复制Word内容并使用格式设字体与大小实例代码
Jan 22 Python
如何使用Python 打印各种三角形
Jun 28 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
Python实现把类当做字典来访问
Dec 16 Python
pandas中的数据去重处理的实现方法
Feb 10 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
5行Python代码实现图像分割的步骤详解
May 25 Python
Python经纬度坐标转换为距离及角度的实现
Nov 01 Python
Python中else的三种使用场景
Jun 16 Python
tensorflow实现简单逻辑回归
Sep 07 #Python
Tensorflow使用支持向量机拟合线性回归
Sep 07 #Python
TensorFlow实现iris数据集线性回归
Sep 07 #Python
TensorFlow实现模型评估
Sep 07 #Python
使用tensorflow实现线性svm
Sep 07 #Python
Python多进程池 multiprocessing Pool用法示例
Sep 07 #Python
详解python while 函数及while和for的区别
Sep 07 #Python
You might like
PHP脚本的10个技巧(5)
2006/10/09 PHP
mysql数据库差异比较的PHP代码
2012/02/05 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
javascript 树控件 比较好用
2009/06/11 Javascript
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
JS字符串去除连续或全部重复字符的实例
2018/03/08 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
Vue 一键清空表单的实现方法
2020/02/07 Javascript
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
python 剪切移动文件的实现代码
2018/08/02 Python
Tensorflow使用Anaconda、pycharm安装记录
2020/07/29 Python
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
高中体育教学反思
2014/01/29 职场文书
法人委托书范本
2014/09/15 职场文书
2014财务年度工作总结
2014/11/11 职场文书
稽核岗位职责
2015/02/10 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
详解Python魔法方法之描述符类
2021/05/26 Python
排查Tomcat进程假死的问题
2022/05/06 Servers