선형회귀
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]
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5