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 相关文章推荐
python3.0 字典key排序
Dec 24 Python
pyside写ui界面入门示例
Jan 22 Python
探寻python多线程ctrl+c退出问题解决方案
Oct 23 Python
python函数装饰器用法实例详解
Jun 04 Python
Python编程中归并排序算法的实现步骤详解
May 04 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
python的内存管理和垃圾回收机制详解
May 18 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
一篇文章搞定Python操作文件与目录
Aug 13 Python
Python @property装饰器原理解析
Jan 22 Python
通过实例解析python and和or使用方法
Nov 14 Python
用Python将库打包发布到pypi
Apr 13 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中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
php更新mysql后获取影响的行数发生异常解决方法
2013/03/28 PHP
基于PHP文件操作的详解
2013/06/05 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
JavaScript实现页面无操作倒计时退出
2016/10/22 Javascript
vue组件间通信解析
2017/03/01 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
Python正则表达式匹配中文用法示例
2017/01/17 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
浅谈Python 敏感词过滤的实现
2019/08/15 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
python 实现的车牌识别项目
2021/01/25 Python
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
创业计划书中要认真思考的问题
2013/12/28 职场文书
公司董事长岗位职责
2014/06/08 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
中标通知书范本
2015/04/17 职场文书
代理词怎么写
2015/05/25 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python