TensorFlow Keras 모듈에서는 하나의 input tensor와 output tenosr를 가진 모델을 쉽게 구현 할 수 있는 Sequential API 를 제공한다. Sequential API를 이용하여 보스턴 집값 데이터 셋을 회귀 분석 하는 MLP 모델을 구현해보자.
- 1970년 중반 보스턴 외곽 지역의 범죄율, 지방세율 등의 데이터가 주어졌을 때 주택 가격의 중간 값을 예측
- 데이터 포인트가 506개로 비교적 개수가 적고 404개는 훈련 샘플로 102개는 테스트 샘플로 나누어져 있음
- 입력 데이터에 있는 각 특성(예를 들어 범죄율)은스케일이 서로 달라 정규화 작업이 필요함
- 타겟 데이터인 주택의 평균 가격의 단위는 천 달러
* Keras API 를 활용한 보스턴 집값 데이터셋 회귀 분석
import tensorflow as tf
from tensorflow.keras.datasets import boston_housing
import matplotlib.pyplot as plt
"""* Step 1. Inptu tensor 와 Target tensor 준비(훈련데이터)"""
# 수강생 작성 코드
# 1. import 한 boston_housing API를 이용하여 boston_housing 데이터 셋을 다운로드 받으세요
(train_x, train_y), (test_x, test_y) = boston_housing.load_data()
"""* Step 2. 데이터의 전처리 """
# 수강생 작성 코드
# 1. train 데이터의 feature 별 평균값, 표준편차 값을 이용하여 정규화 작업을 진행하세요
x_mean = train_x.mean(axis=0)
x_std = train_x.std(axis=0)
train_x -= x_mean
train_x /= x_std
test_x -= x_mean
test_x /= x_std
y_mean = train_y.mean(axis=0)
y_std = train_y.std(axis=0)
train_y -= y_mean
train_y /= y_std
test_y -= y_mean
test_y /= y_std
"""* Step 3. DNN(MLP) 모델 디자인"""
# 수강생 작성 코드
# 1. Sequential API를 이용하여 boston_housing 데이터 셋을 분석 하기 위한 MLP 모델을 디자인 하세요
model = tf.keras.Sequential([
tf.keras.layers.Dense(units=52, activation='relu', input_shape=(13, )),
tf.keras.layers.Dense(units=39, activation='relu'),
tf.keras.layers.Dense(units=26, activation='relu'),
tf.keras.layers.Dense(units=1)
])
"""* Step 4. 모델의 학습 정보 설정"""
# 수강생 작성 코드
# 1. tf.keras.Model 객체의 compile 메서드를 이용하여 학습을 위한 정보들을 설정하세요
# - optimizer
# - loss : 체점 기준인 MAE 로 설정
# - metrics
model.compile(optimizer='rmsprop', loss='mse')
"""* Step 5. 모델에 input, target 데이터 연결 후 학습"""
# 수강생 작성 코드
# 1. tf.keras.Model 객체의 fit 메서드를 이용하여 모델을 학습하세요
# - fit 메서드의 verbose=2 로 설정 하세요
history = model.fit(train_x, train_y, epochs=30, verbose=2, batch_size=32, validation_split=0.2)
plt.plot(history.history['loss'], 'b-', label='loss')
plt.plot(history.history['val_loss'], 'r--', label='val_loss')
plt.xlabel('Epoch')
plt.legend()
plt.show()
'프로젝트 > 코드프레소 체험단' 카테고리의 다른 글
이미지 데이터 처리를 위한 CNN 완벽 가이드 - CNN 모델 (0) | 2022.03.04 |
---|---|
이미지 데이터 처리를 위한 CNN 완벽 가이드 - 이미지 처리와 딥러닝 (0) | 2022.03.04 |
이미지 데이터 처리를 위한 CNN 완벽 가이드 - fashion-mnist 분류 분석 실습 (0) | 2022.02.23 |
이미지 데이터 처리를 위한 CNN 완벽 가이드 - Keras API (0) | 2022.02.22 |
이미지 데이터 처리를 위한 CNN 완벽 가이드 - TF 2.0을 이용한 퍼셉트론 구현 (0) | 2022.02.19 |