Tensorflow는 딥러닝 라이브러리로, 다양한 종류의 머신러닝 모델을 쉽게 구현할 수 있도록 해줍니다. 이번에는 Tensorflow를 이용하여 선형회귀와 를 구현하는 방법에 대해 정리해보겠습니다.
import numpy as np
# 데이터셋 생성
x = np.linspace(0, 1, 100)
y = 2 * x + 1 + np.random.normal(0, 0.1, size=100)
이 코드는 python에서 데이터셋을 생성하는 코드입니다.
x,y 두 개의 변수로 이루어진 100개의 데이터셋을 만들었습니다.
import tensorflow as tf
# 모델 구성
model = tf.keras.Sequential([
tf.keras.layers.Input(shape=(1,)),
tf.keras.layers.Dense(units=1, activation=None)
])
이 코드는 tensorflow를 사용하여 선형회귀 모델을 구성했습니다.
하나의 입력과 하나의 출력을 가지고 있습니다.
# 손실 함수와 최적화 알고리즘 정의
loss_fn = tf.keras.losses.mean_squared_error
optimizer = tf.keras.optimizers.SGD(learning_rate=0.1)
# 모델 컴파일
model.compile(optimizer=optimizer, loss=loss_fn)
# 모델 학습
model.fit(x, y, epochs=100)
이 코드는 모델을 학습 시키는 코드입니다.
학습을 최대한 잘 시키기 위해서 최적화 알고리즘을 정의하여서 진행하였습니다.
# 모델 평가
mse = model.evaluate(x, y)
print('Mean squared error:', mse)
마지막으로, 학습된 모델을 평가하기 위해서 evaluate 메서드를 이용했습니다.