CS 20SI|Lecture 3 Linear and Logistic Regression in TensorFlow

本文介绍了如何在TensorFlow中实现线性回归和逻辑回归。通过两个阶段组装并训练模型,探讨了train_op作为Session.run()参数的原因以及TensorFlow更新变量的机制。还讨论了优化器的选择,包括常用优化器的功能和适用场景,如RMSprop、Adagrad、Adam等,并推荐在不确定最优算法时使用Adam。最后,简要提及了Logistic Regression的实现,强调了softmax和交叉熵在其中的作用。
摘要由CSDN通过智能技术生成

本章主要是利用前两章学的内容实现一下线性回归和逻辑回归。

Linear Regression in TensorFlow

由于格式的问题,建议使用PC端浏览器观看!

Solution

直接贴代码

"""
Simple linear regression example in TensorFlow
This program tries to predict the number of thefts from 
the number of fire in the city of Chicago
"""
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
import xlrd
from __future__ import print_function
DATA_FILE = '../data/fire_theft.xls'
# Step 1: read in data from the .xls file
book = xlrd.open_workbook(DATA_FILE, encoding_override='utf-8')
sheet = book.sheet_by_index(0)
data = np.asarray([sheet.row_values(i) for i in range(1, sheet.nrows)])
n_samples = sheet.nrows - 1

Phase 1: Assemble the graph

# Step 2: create placeholders for input X (number of fire) and label Y (number of theft)
X = tf.placeholder(tf.float32,name = 'X')
Y = tf.placeholder(tf.float32,name = 'Y')

# Step 3: create weight and bias, initialized to 0
# name your variables w and b
w = tf.Variable(0.0,name = 'weight')
b = tf.Variable(0.0,name = 'bias')

# Step 4: predict Y (number of theft) from the number of fire
# name your variable Y_predicted
Y_predicted = w * X + b

# Step 5: use the square error as the loss function
# name your variable loss
loss = tf.square(Y_predicted - Y)
# Step 6: using gradient descent with learning rate of 0.01 to minimize loss
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.001).minimize(loss)

Phase 2: Train our model

with tf.Session() as sess:
    # Step 7: initialize the necessary variables, in this case, w and b
    # TO - DO   
    sess.run(tf.global_variables_initializer())
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值