선형회귀
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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