선형회귀(Linear Regression) 구현하기
텐서플로 버전 확인
import tensorflow as tf
tf.__version__
2.3.0
2버전대(2.*.*) 가 아닌 1버전이 설치가 되어있으면, 삭제후 재설치 해줍니다.
!pip uninstall tensorflow
!pip install tensorflow
필요 모듈 설정
import tensorflow as tf
import numpy as np
from tensorflow import keras
X, Y 샘플 데이터 및 학습률(learning_rate) 입력
x_data = [11,12,13,14,15,16,17]
y_data = [148, 154, 170, 165, 175, 183, 190]
learning_rate = 0.001
keras의 다차원 계층 모델인 Sequential를 레이어 선언
model = tf.keras.models.Sequential()
입력이 1차원이고 출력이 1차원인 DENSE - Dense는 레이어의 종류
model.add(tf.keras.layers.Dense(1, input_dim = 1))
경사 하강법 선언 (with Learning_rate)
sgd = tf.keras.optimizers.SGD(learning_rate = 0.001)
loss(cost)를 mean_squared_error 방식을 사용
model.compile(loss='mean_squared_error',optimizer=sgd)
모델 학습
model.fit(x_data, y_data, epochs=5000)
풀코드
import tensorflow as tf
import numpy as np
from tensorflow import keras
x_data = [11,12,13,14,15,16,17]
y_data = [148, 154, 170, 165, 175, 183, 190]
learning_rate = 0.001
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(1, input_dim = 1))
sgd = tf.keras.optimizers.SGD(learning_rate = 0.001)
model.compile(loss='mean_squared_error',optimizer=sgd)
model.fit(x_data, y_data, epochs=500)
temp_x = 18
print()
print(f'x가 {temp_x}일 때, y의 예측값 : {model.predict(np.array([temp_x]))[0][0]}')
반응형
'AI > Tensorflow' 카테고리의 다른 글
텐서플로 - Tensorflow 2버전 : 로지스틱 회귀 구현 (0) | 2020.08.27 |
---|---|
텐서플로 - Tensorflow 2버전 : 다중 선형 회귀 구현 (0) | 2020.08.27 |
텐서플로 - Tensorflow 2버전 : 선형 회귀 구현 (0) | 2020.08.27 |
텐서플로 - Tensorflow 1버전 : 선형 회귀 구현 (0) | 2020.08.27 |
텐서플로 - Tensorflow 1 버전 사용하기 (in 구글 코랩) (0) | 2020.08.27 |