데이터 분석 & 머신러닝
선형 회귀 인공지능 구현해보기
컴공 K
2021. 1. 13. 05:14
다음과 같이 하루 노동 시간과 하루 매출에 대한 표가 주어졌을 때, 하루 노동 시간이 8시간일 때의 하루 매출을 예측해보자!
하루 노동 시간 | 하루 매출 |
1 | 25,000 |
2 | 55,000 |
3 | 75,000 |
4 | 110,000 |
5 | 128,000 |
6 | 155,000 |
7 | 180,000 |
구현 코드
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
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)) # W : 가설의 기울기,weight의 줄임말로 가중치라는 뜻을 가지기도 함
b = tf.Variable(tf.random_uniform([1],-100,100)) # b : bias의 줄임말
# placeholder라는 하나의 틀
X = tf.placeholder(tf.float32)
Y = tf.placeholder(tf.float32)
# H : 가설식
H = W*X+b
# cost : 비용함수 => (이상치-실제값)의 제곱의 평균
cost=tf.reduce_mean(tf.square(H-Y))
# a : 경사하강 알고리즘에서 얼마나 점프할지에 대한 정의
a = tf.Variable(0.01)
optimizer = tf.train.GradientDescentOptimizer(a)
# 비용함수를 가장 적게 만드는 방향으로 학습하도록 함
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:
print(i, sess.run(cost,feed_dict = {X:xData, Y:yData}), sess.run(W), sess.run(b))
#하루 노동 시간이 8일 때의 하루 매출 예측 값
print(sess.run(H, feed_dict = {X:[8]}))
따라서 하루 노동 시간이 8시간일 때의 하루 매출은 206,571.39로 예측되었다.
4. 텐서플로우(TensorFlow)에서 선형 회귀 인공지능 구현하기
이번 시간에는 지난 시간까지 공부했던 선형 회귀 모델을 이용해 실제로 기계학습을 진행해봅시다. 아래와 ...
blog.naver.com
728x90
반응형