Coarse to Fine 시각화
이제 Coarse to Fine 탐색의 첫 단계를 수행해 보겠습니다. 먼저 넓은 탐색 공간에서 실행된 초기 랜덤 서치의 결과를 분석한 뒤, 하이퍼파라미터 탐색을 더 촘촘하게 만들기 위한 다음 합리적인 단계를 결정할 거예요.
다음 항목이 준비되어 있어요:
combinations_list- 랜덤 서치를 수행한 가능한 하이퍼파라미터 조합의 리스트results_df- 각 하이퍼파라미터 조합과 500회 모든 실험에 대한 정확도를 담은 DataFrame. 각 하이퍼파라미터는 열이며, 열 이름이 하이퍼파라미터 이름이에요.visualize_hyperparameter()- DataFrame의 한 열 이름(문자열)을 받아 해당 열의 값과 정확도 점수를 비교한 산점도를 그려주는 함수. 예를 들어visualize_hyperparameter('accuracy')처럼 호출해요.
visualize_hyperparameter() 함수 정의를 보고 싶다면 다음 코드를 실행하세요:
import inspect
print(inspect.getsource(visualize_hyperparameter))
이 연습은 강의의 일부입니다
Python에서의 하이퍼파라미터 튜닝
연습 안내
combinations_list의 크기를(출력해서) 확인해 주세요. 왜 랜덤 서치로 시작해야 하는지 근거를 제시해 보세요.results_df를 accuracy 값으로 정렬하고 상위 10개 행을 출력하세요. 뚜렷한 인사이트가 있나요? 표본 수가 작을 수 있으니 유의하세요!- 이번 탐색에 사용된 하이퍼파라미터가 무엇인지(출력해서) 확인하세요. 이는
results_df의 열 이름입니다. - 각 하이퍼파라미터(
max_depth,min_samples_leaf,learn_rate)에 대해 차례로visualize_hyperparameter()를 호출하세요. 어떤 추세가 보이나요?
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Confirm the size of the combinations_list
print(____(____))
# Sort the results_df by accuracy and print the top 10 rows
print(results_df.____(by=____, ascending=False).head(____))
# Confirm which hyperparameters were used in this search
print(results_df.____)
# Call visualize_hyperparameter() with each hyperparameter in turn
visualize_hyperparameter(____)
visualize_hyperparameter(____)
visualize_hyperparameter(____)