TensorFlow经典案例4:实现logistic回归

#TensorFlow实现Logistic 回归
import tensorflow as tf

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

mnist = input_data.read_data_sets("/tmp/data/", one_hot=True)

#学习参数
learning_rate = 0.01
training_epoches = 25
batch_size = 100
display_step = 1

#构造图
x = tf.placeholder(tf.float32,[None,784])
y = tf.placeholder(tf.float32,[None,10])

W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))

prediction = tf.nn.softmax(tf.matmul(x,W) + b)
cost = tf.reduce_mean(-tf.reduce_sum(y*tf.log(prediction),reduction_indices=1))
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)
init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    for epoch in range(training_epoches):
        avg_cost = 0.
        total_batch = int(mnist.train.num_examples/batch_size)
        for i in range(total_batch):
            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("Epoch:","%0.4d" %(epoch+1),"cost","{:.9f}".format(avg_cost))
    print("训练结束")

    correct_prediction = tf.equal(tf.argmax(prediction,1),tf.argmax(y,1))
    accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.int32))
    print("Accuracy:", accuracy.eval({x: mnist.test.images, y: mnist.test.labels}))

  

时间: 2024-11-08 20:40:54

TensorFlow经典案例4:实现logistic回归的相关文章

TensorFlow经典案例2:实现最近邻算法

本次案例需要大家了解关于手写数字识别(mnist)的数据集的特点和结构: #TensorFlow实现最近邻算法 #次案例的前提是了解mnist数据集(手写数字识别) import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_data #导入mnist数据集 mnist = input_data.read_data_sets("/tmp/data/",

TensorFlow经典案例3:实现线性回归

TensorFlow实现线性回归 #实现线性回归 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt rng = np.random learn_rate = 0.01 training_epochs = 1000 display_step = 50 #生成训练数据 train_X = np.asarray([3.3,4.4,5.5,6.71,6.93,4.168,9.779,6.182,7.59,

TensorFlow经典案例5:对前4次案例的一些思考与总结

一.关于numpy的random的使用: 1.rand随机值 In [2]: np.random.rand(3,2) Out[2]: array([[ 0.04287046, 0.68212741], [ 0.25322512, 0.50287344], [ 0.75530125, 0.55308281]])   2.randn返回样本具有标准正太分布 In [4]: np.random.randn(3,2) Out[4]: array([[-2.26840223, -0.24799291],

机器学习实践之Logistic回归

    关于本文说明,本人原博客地址位于http://blog.csdn.net/qq_37608890,本文来自笔者于2017年12月17日 19:18:31所撰写内容(http://blog.csdn.net/qq_37608890/article/details/78827013). 本文根据最近学习机器学习书籍 网络文章的情况,特将一些学习思路做了归纳整理,详情如下.如有不当之处,请各位大拿多多指点,在此谢过. (今天发现第二部分 第4点中,部分代码不整齐,重新梳理了.2017.12.2

ch9-脑外伤急救后迟发性颅脑损伤影响因素分析案例-logistic回归

卡方检验-考察分类变量相关性-“交叉表”或“设定表”中进行: t检验-考察连续变量与分类变量相关性-“设定表”中进行: 线性logsitic回归-研究分类因变量与一组自变量(可连续可分类)的关系: 树结构模型-研究自变量间是否存在交互作用 广义线性模型-在更广范畴建立模型. 1.案例背景 收集脑外伤急救病例样本,分析哪些因素导致急救后的脑损伤发生.因变量:是否出现迟发性脑损伤,为两分类变量:自变量:有连续性变量.分类变量. 卡方检验:研究分类变量之间的关系: 由于因变量是两分类变量,所以不能用普

干货 | TensorFlow的55个经典案例

转自1024深度学习 导语:本文是TensorFlow实现流行机器学习算法的教程汇集,目标是让读者可以轻松通过清晰简明的案例深入了解 TensorFlow.这些案例适合那些想要实现一些 TensorFlow 案例的初学者.本教程包含还包含笔记和带有注解的代码. 第一步:给TF新手的教程指南 1:tf初学者需要明白的入门准备 机器学习入门笔记: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_

SPSS—回归—二元Logistic回归案例分析

数据分析真不是一门省油的灯,搞的人晕头转向,而且涉及到很多复杂的计算,还是书读少了,小学毕业的我,真是死了不少脑细胞, 学习二元Logistic回归有一段时间了,今天跟大家分享一下学习心得,希望多指教! 二元Logistic,从字面上其实就可以理解大概是什么意思,Logistic中文意思为"逻辑"但是这里,并不是逻辑的意思,而是通过logit变换来命名的,二元一般指"两种可能性"就好比逻辑中的"是"或者"否"一样, Logis

机器学习--Logistic回归算法案例

案例:从疝气病症预测病马的死亡率 准备数据时,数据中的缺失值是个非常棘手的问题.因为有时候数据相当昂贵,扔掉和重新获取都是不可取的,所以必须采用一些方法来解决这个问题. 在预处理阶段需要做两件事:第一,所有的缺失值必须用一个实数值来替换,因为我们使用的NumPy数据类型不允许包含缺失值.这里选择实数0来替换所有缺失值,恰好能适用于Logistic回归.第二,如果在测试数据集中发现了一条数据的类别标签已经缺失,那么我们可以将该条数据丢弃.因为类别标签与特征不同,很难确定采用某个合适的值来替换. 1

TensorFlow训练Logistic回归

Logistic回归 在用线性模型进行回归训练时,有时需要根据这个线性模型进行分类,则要找到一个单调可微的用于分类的函数将线性回归模型的预测值关联起来.这时就要用到逻辑回归,之前看吴军博士的<数学之美>中说腾讯和谷歌广告都有使用logistics回归算法. 如下图,可以清晰看到线性回归和逻辑回归的关系,一个线性方程被逻辑方程归一化后就成了逻辑回归.. Logistic模型 对于二分类,输出y∈{0,1},假如线性回归模型为z=θTx,则要将z转成y,即y=g(z).于是最直接的方式是用单位阶跃