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获取赶集网招聘信息前篇
Apr 18 Python
python中字符串类型json操作的注意事项
May 02 Python
python的文件操作方法汇总
Nov 10 Python
Python读取Json字典写入Excel表格的方法
Jan 03 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
Jan 04 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
Jul 09 Python
Python 离线工作环境搭建的方法步骤
Jul 29 Python
keras 自定义loss层+接受输入实例
Jun 28 Python
Django封装交互接口代码
Jul 12 Python
Python中Cookies导出某站用户数据的方法
May 17 Python
python APScheduler执行定时任务介绍
Apr 19 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
几个php应用技巧
2008/03/27 PHP
PHP令牌 Token改进版
2008/07/18 PHP
php生成缩略图的类代码
2008/10/02 PHP
解析zend Framework如何自动加载类
2013/06/28 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
PHP实现动态web服务器方法
2015/07/29 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
JQuery 小练习(实例代码)
2009/08/07 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
详解js中==与===的区别
2017/01/08 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
python中的计时器timeit的使用方法
2017/10/20 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
英国派对礼服和连衣裙购物网站:TFNC London
2018/07/07 全球购物
什么是反射?如何实现反射?
2016/07/25 面试题
光电信息专业应届生求职信
2013/10/07 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
年终晚会活动方案
2014/08/21 职场文书
公务员检讨书
2014/11/01 职场文书
初中作文评语集锦
2014/12/25 职场文书
黄石寨导游词
2015/02/05 职场文书
清洁工岗位职责
2015/02/13 职场文书