하이퍼파라미터 선택 자동화
수백 개의 모델에 대해 수백 줄의 코드를 작성하지 않고도 관심 있는 최적의 하이퍼파라미터를 찾는 것은 큰 효율 향상으로, 앞으로 Machine Learning 모델을 만들 때 큰 도움이 됩니다.
GBM 알고리즘의 중요한 하이퍼파라미터 중 하나는 학습률(learning rate)입니다. 그런데 이 문제에서 어떤 학습률이 가장 좋을까요? 여러 후보를 순회하는 루프를 작성하고, 그 결과를 모아 확인하면 최적 값을 찾을 수 있어요.
시도해 볼 수 있는 학습률 후보는 0.001, 0.01, 0.05, 0.1, 0.2, 0.5 입니다.
X_train, X_test, y_train, y_test 데이터셋이 준비되어 있으며, GradientBoostingClassifier는 이미 임포트되어 있습니다.
이 연습은 강의의 일부입니다
Python에서의 하이퍼파라미터 튜닝
연습 안내
- 학습률을 위한
learning_rates리스트와 예측의 정확도 점수를 담을results_list를 만드세요. - 각 학습률에 대해 GBM 모델을 만들고, 각 모델로 예측을 생성하는 루프를 작성하세요.
- 학습률과 정확도 점수를
results_list에 저장하세요. - 결과 리스트를 DataFrame으로 변환해 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Set the learning rates & results storage
learning_rates = ____
results_list = ____
# Create the for loop to evaluate model predictions for each learning rate
for learning_rate in ____:
model = ____(learning_rate=____)
predictions = ____.fit(____, ____).predict(____)
# Save the learning rate and accuracy score
results_list.append([____, accuracy_score(y_test, ____)])
# Gather everything into a DataFrame
results_df = pd.DataFrame(____, columns=['learning_rate', 'accuracy'])
print(results_df)