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 Web框架Pylons中使用MongoDB的例子
Dec 03 Python
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
Python 中的with关键字使用详解
Sep 11 Python
python脚本替换指定行实现步骤
Jul 11 Python
Python实现类的创建与使用方法示例
Jul 25 Python
使用Python抓取豆瓣影评数据的方法
Oct 17 Python
Python数据类型之Tuple元组实例详解
May 08 Python
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
Jun 21 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
Dec 30 Python
如何利用Python动态模拟太阳系运转
Sep 04 Python
python如何调用php文件中的函数详解
Dec 29 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中实现图片的锐化
2006/10/09 PHP
PHP实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
用PHP进行MySQL删除记录操作代码
2008/06/07 PHP
php flush类输出缓冲剖析
2008/10/19 PHP
PHP $_SERVER详解
2009/01/16 PHP
PHP Pear 安装及使用
2009/03/19 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
详解nodejs中的process进程
2017/03/19 NodeJs
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
React如何避免重渲染
2018/04/10 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
python实现12306火车票查询器
2017/04/20 Python
基于python实现聊天室程序
2018/07/27 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
python自动化办公操作PPT的实现
2021/02/05 Python
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
理货员的岗位职责
2013/11/23 职场文书
人力资源部培训专员岗位职责
2014/01/02 职场文书
公司聘任书模板
2014/03/29 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
解除劳动合同协议书范本
2014/09/13 职场文书
一份没有按时交货失信于客户的检讨书
2014/09/19 职场文书
小学生家长意见
2015/06/03 职场文书
贷款担保书范本
2015/09/22 职场文书
python 遍历磁盘目录的三种方法
2021/04/02 Python
Python 多线程之threading 模块的使用
2021/04/14 Python
利用Pycharm连接服务器的全过程记录
2021/07/01 Python