TensorFlow 단순회귀분석

Jmnote (토론 | 기여)님의 2017년 12월 20일 (수) 14:26 판 (→‎개요)

1 개요

TensorFlow 단순선형회귀분석
  • 텐서플로우는 '통계분석 패키지'라기 보다는 '범용모델 학습 라이브러리'이므로 접근방법이 상당히 다르다.
import tensorflow as tf

x_data = [1.47, 1.50, 1.52, 1.55, 1.57, 1.60, 1.63, 1.65, 1.68, 1.70, 1.73, 1.75, 1.78, 1.80, 1.83]
y_data = [52.21, 53.12, 54.48, 55.84, 57.20, 58.57, 59.93, 61.29, 63.11, 64.47, 66.28, 68.10, 69.92, 72.19, 74.46]
learning_rate = 0.02

W = tf.Variable(tf.zeros([1]))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b
cost = tf.reduce_mean(tf.square(y - y_data))
train = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)

sess = tf.Session()
sess.run( tf.global_variables_initializer() )

for step in range(80001):
    sess.run(train)
    if step % 10000 == 0:
        print( "step=", step, "W=", sess.run(W), "b=", sess.run(b) )

# step= 0 W= [ 4.128654] b= [ 2.48311996]
# step= 10000 W= [ 52.14553833] b= [-23.94760704]
# step= 20000 W= [ 58.79611969] b= [-34.96140671]
# step= 30000 W= [ 60.6001091] b= [-37.94892502]
# step= 40000 W= [ 61.08966446] b= [-38.75970078]
# step= 50000 W= [ 61.22246552] b= [-38.97960281]
# step= 60000 W= [ 61.25883484] b= [-39.03984833]
# step= 70000 W= [ 61.26185608] b= [-39.04485703]
# step= 80000 W= [ 61.26185608] b= [-39.04485703]

2 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}