이 코드를 실행하면 매개변수 C에 대한 검증 곡선 그래프를 얻게 됩니다.
▲ 그림 6-7 검증 곡선
learning_curve 함수와 비슷하게 validation_curve 함수는 기본적으로 계층별 k-겹 교차 검증을 사용하여 모델의 성능을 추정합니다.9 validation_curve 함수 안에서 평가하기 원하는 매개변수를 지정합니다. 이 경우에는 LogisticRegression 분류기의 규제 매개변수인 C입니다. 사이킷런의 파이프라인 안에 있는 LogisticRegression 객체의 매개변수를 지정하려면 'logisticregression__C'처럼 씁니다.10 param_range 매개변수에는 값 범위를 지정합니다. 이전 절의 학습 곡선 예와 비슷하게 평균 훈련 정확도와 교차 검증 정확도를 그리고 이에 상응하는 표준 편차를 나타냈습니다.
C 값이 바뀜에 따라 정확도 차이가 미묘하지만 규제 강도를 높이면(C 값을 줄이면) 모델이 데이터에 조금 과소적합되는 것을 볼 수 있습니다. 규제 강도가 낮아지는 큰 C 값에서는 모델이 데이터에 조금 과대적합되는 경향을 보입니다. 이 경우에 적절한 C 값은 0.01과 0.1 사이입니다.
9 역주 또한, learning_curve 함수와 동일한 cv, fit_params, n_jobs 매개변수를 제공합니다.
10 역주 7장에 있는 예제처럼 Pipeline 클래스에 추정기나 변환기를 추가할 때 이름을 직접 지정할 수 있습니다. make_pipeline 함수는 파이썬 클래스 이름의 소문자 버전을 만들어 사용합니다. 추정기나 변환기의 매개변수를 참조할 때는 객체와 매개변수를 밑줄 문자 두 개로 연결합니다.