시작하기무료로 시작하기

모델 지정하기

이제 Keras에서 처음으로 모델을 다뤄 보겠습니다. 앞선 두 챕터에 비해 더 복잡한 신경망 모델을 더 큰 데이터셋에 곧바로 적용할 수 있어요.

먼저 신경망의 뼈대에 은닉층과 출력층을 추가하겠습니다. 그런 다음 모델을 학습시키고, Keras가 최적화를 수행해 모델 성능이 점점 향상되는 과정을 확인해 보세요.

예제로, 산업 분야, 교육 수준, 경력 등 특성을 바탕으로 근로자의 시급을 예측하겠습니다. 데이터셋은 pandas DataFrame df에 있습니다. 편의를 위해, 목표 변수를 제외한 df의 모든 값은 NumPy 배열 predictors로 변환해 두었습니다. 목표 변수 wage_per_hour는 NumPy 배열 target으로 제공됩니다.

이 챕터의 모든 연습 문제에서는 Sequential 모델 생성자, Dense 레이어 생성자, 그리고 pandas가 이미 임포트되어 있습니다.

이 연습은 강의의 일부입니다

Python으로 시작하는 Deep Learning

강의 보기

연습 안내

  • predictors 데이터의 열 개수를 n_cols에 저장하세요. 이 단계는 이미 완료되어 있습니다.
  • Sequential 모델을 생성해 model이라고 이름 붙이세요.
  • model.add() 메서드로 Dense 레이어를 추가하세요.
    • 유닛은 50개, activation='relu'로 지정하고, input_shape 매개변수는 튜플 (n_cols,)로 설정하세요. 이는 각 데이터 행에 n_cols개의 항목이 있고, 행의 개수는 어떤 값이든 입력으로 허용된다는 의미입니다.
  • Dense 레이어를 하나 더 추가하세요. 유닛은 32개이고 활성화 함수는 'relu'입니다.
  • 마지막으로 단일 노드를 가진 Dense 레이어를 출력층으로 추가하세요. 여기에는 활성화 함수를 사용하지 마세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import necessary modules
from tensorflow.keras.layers import Dense
from tensorflow.keras.models import Sequential

# Save the number of columns in predictors: n_cols
n_cols = predictors.shape[1]

# Set up the model: model
model = ____

# Add the first layer
____.____(____(____, ____=____, ____=(____)))

# Add the second layer
____

# Add the output layer
____
코드 편집 및 실행