컴공생의 다이어리

선형 회귀 인공지능 구현해보기 본문

데이터 분석 & 머신러닝

선형 회귀 인공지능 구현해보기

컴공 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로 예측되었다.

 

 

blog.naver.com/PostView.nhn?blogId=ndb796&logNo=221277771773&parentCategoryNo=&categoryNo=83&viewDate=&isShowPopularPosts=false&from=postList

 

4. 텐서플로우(TensorFlow)에서 선형 회귀 인공지능 구현하기

이번 시간에는 지난 시간까지 공부했던 선형 회귀 모델을 이용해 실제로 기계학습을 진행해봅시다. 아래와 ...

blog.naver.com

728x90

'데이터 분석 & 머신러닝' 카테고리의 다른 글

텐서플로우(Tensorflow) 변수와 상수  (0) 2021.01.14
텐서플로우(Tensorflow)란?  (0) 2021.01.14
비용 함수(Cost Function)  (0) 2021.01.13
k-mean 클러스터링  (0) 2021.01.12
선형 회귀(Linear Regression)  (0) 2021.01.10
Comments