JejuSudal 2023. 9. 26. 14:58

https://colab.research.google.com/github/AnYeHyeon/deeplearning_2023/blob/master/Week_03_2_Basic_Regression_AUTO.ipynb#scrollTo=Rqnsdxpa2rsC

 

Week_03_2_Basic_Regression_AUTO.ipynb

Run, share, and edit Python notebooks

colab.research.google.com

 

핵심 포인트

1. csv 파일에서 종속변수인 y를 pop함수로 저장하기

from sklearn.model_selection import train_test_split
y = df.pop('mpg')
X = df

2. 회귀모델에서는 비용함수 RMSE 사용

3. 스케일링 (정규화 vs 표준화)

4. 회귀모형 만들기 (회귀에서는 활성화 함수 필요없음)

model = keras.Sequential()
model.add(layers.Dense(32, activation='relu',input_dim=train_X_scaled.shape[1]))
model.add(layers.Dense(8, activation='relu'))
model.add(layers.Dense(1))
   
optimizer = tf.keras.optimizers.RMSprop(0.001)

model.compile(loss='mse',optimizer=optimizer, metrics=['mae','mse'])
model.summary()

5. 모델학습 & 확인

history = model.fit(train_X_scaled, train_y, epochs=100, validation_data = (test_X_scaled, test_y), verbose = 1)

6. 성능 플로팅하기

# 학습 결과 시각화
plt.figure(figsize=(10, 6))
plt.plot(history.history['loss'], label='Train Loss')
plt.plot(history.history['val_loss'], label='Validation Loss')
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.title('Training and Validation Loss')
plt.legend()
plt.show()
728x90