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 相关文章推荐
用pywin32实现windows模拟鼠标及键盘动作
Apr 22 Python
Python判断变量是否已经定义的方法
Aug 18 Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 Python
基于Python如何使用AIML搭建聊天机器人
Jan 27 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 Python
Python基于正则表达式实现文件内容替换的方法
Aug 30 Python
Python实现的计算器功能示例
Apr 26 Python
pyecharts动态轨迹图的实现示例
Apr 17 Python
python中sympy库求常微分方程的用法
Apr 28 Python
Pythonic版二分查找实现过程原理解析
Aug 11 Python
pycharm 2020 1.1的安装流程
Sep 29 Python
Python中Selenium模块的使用详解
Oct 09 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 smarty函数扩展
2010/03/15 PHP
PHP的PSR规范中文版
2013/09/28 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
PHP测试成功的邮件发送案例
2015/10/26 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
2013/03/04 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
jquery实现图片按比例缩放示例
2014/07/01 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
Python模拟简单电梯调度算法示例
2018/08/20 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
如何定义TensorFlow输入节点
2020/01/23 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
python文件读取失败怎么处理
2020/06/23 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
护理专科毕业自荐信范文
2014/04/21 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
python-for x in range的用法(注意要点、细节)
2021/05/10 Python
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers
Fluentd搭建日志收集服务
2022/09/23 Servers