더북(TheBook)

이 코드에서 sklearn.model_selection 모듈에 있는 GridSearchCV 클래스의 객체를 만들고 서포트 벡터 머신(SVM)을 위한 파이프라인을 훈련하고 튜닝합니다. GridSearchCV 클래스의 param_grid에 튜닝하려는 매개변수를 딕셔너리의 리스트로 지정합니다. 선형 SVM의 경우 규제 매개변수 C만 튜닝합니다. RBF 커널 SVM에서는 svc__Csvc__gamma 매개변수를 튜닝합니다. svc__gamma 매개변수는 커널 SVM에만 해당됩니다.

GridSearchCV는 서로 다른 하이퍼파라미터 설정으로 훈련된 모델을 비교하기 위해 k-겹 교차 검증을 사용합니다. cv=10으로 지정했으므로 10-겹 교차 검증을 수행하고 열 개의 폴드에 대한 평균 정확도(scoring='accuracy')를 계산하여 모델 성능을 평가합니다. GridSearchCV가 모든 CPU 코어로 여러 폴드에서 병렬로 모델을 훈련하여 그리드 서치 속도를 높일 수 있도록 n_jobs=-1로 설정했습니다. 하지만 이 설정으로 문제가 발생하는 경우 n_jobs=None으로 변경하여 단일 코어를 사용할 수 있습니다.

훈련 데이터셋을 사용하여 그리드 서치를 수행한 후 최상의 모델 점수는 best_score_ 속성에서 얻고 이 모델의 매개변수는 best_params_ 속성에서 확인할 수 있습니다. 이 경우에는 svc__C = 100.0인 RBF 커널 SVM 모델이 가장 좋은 k-겹 교차 검증 정확도 98.5%를 달성했습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.