Python byDreamy postedFeb 05, 2018

[tensorflow] 선형회귀 예제

?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

+ - Up Down Comment Print

선형회귀 


import tensorflow as tf

xData = [1,2,3,4,5,6,7] # 하루 노동시간
yData = [25000,55000,75000,110000,128000,155000,180000] # 하루매출
W = tf.Variable(tf.random_uniform([1], -100, 100))  # 가중치, -100~100 랜덤 값 입력
b = tf.Variable(tf.random_uniform([1], -100, 100))  # y절편, bias의 줄임말, -100~100 랜덤값
X = tf.placeholder(tf.float32)  # 하나의 틀을 만들어줌
Y = tf.placeholder(tf.float32)
H = W + X + b   # 가설식을 정의함
cost = tf.reduce_mean(tf.square(H - Y))     # 비용 함수, 예측값에서 실제값을 뺀것을 제곱한것들의 평균
a = tf.Variable(0.01)   # 점프할 step의 크기
optimizer = tf.train.GradientDescentOptimizer(a)    # 텐서플로우의 기본제공 경사하강 학습 library - 비용함수를 가장 적게 만드는 방향으로 학습함
train = optimizer.minimize(cost)
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)

for i in range(5001):
    sess.run(train, feed_dict={X: xData, Y: yData})
    if i% 500 == 0: # 500개 마다 모니터링
        print (i, sess.run(cost, feed_dict={X: xData, Y: yData}), sess.run(W), sess.run(b))

print (sess.run(H, feed_dict={X: [8]})) # 장사꾼이 하루에 8시간 일했을때 매출 예상값


output:

0 12598179000.0 [2168.8508] [2029.7228]

500 2638652000.0 [52067.516] [51928.387]

1000 2638652000.0 [52067.516] [51928.387]

1500 2638652000.0 [52067.516] [51928.387]

2000 2638652000.0 [52067.516] [51928.387]

2500 2638652000.0 [52067.516] [51928.387]

3000 2638652000.0 [52067.516] [51928.387]

3500 2638652000.0 [52067.516] [51928.387]

4000 2638652000.0 [52067.516] [51928.387]

4500 2638652000.0 [52067.516] [51928.387]

5000 2638652000.0 [52067.516] [51928.387]

[104003.91]








나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5