모델 지정하기
이제 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
____