추정자의 하이퍼파라미터 튜닝

Beginner

This tutorial is from open-source community. Access the source code

소개

하이퍼파라미터는 추정기 (estimator) 에 의해 직접 학습되지 않는 파라미터입니다. 추정기 클래스의 생성자에 인수로 전달됩니다. 추정기의 하이퍼파라미터를 조정하는 것은 효과적인 머신 러닝 모델을 구축하는 중요한 단계입니다. 이는 모델의 최상의 성능을 얻는 최적의 하이퍼파라미터 조합을 찾는 것을 포함합니다.

Scikit-learn 은 최상의 하이퍼파라미터를 검색하기 위한 여러 도구를 제공합니다: GridSearchCVRandomizedSearchCV입니다. 이 실습에서는 이러한 도구를 사용하여 하이퍼파라미터를 조정하는 과정을 살펴볼 것입니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 연습을 위한 Jupyter Notebook에 접근할 수 있습니다.

때때로 Jupyter Notebook 이 완전히 로드되기까지 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사를 자동화할 수 없습니다.

학습 중 문제가 발생하면 Labby 에게 문의하십시오. 세션 후 피드백을 제공하면 문제를 신속하게 해결해 드리겠습니다.

필요한 라이브러리 가져오기

먼저, 분석에 필요한 라이브러리를 가져와야 합니다. 하이퍼파라미터 튜닝을 위해 sklearn.model_selection을 사용할 것입니다.

import numpy as np
from sklearn.model_selection import GridSearchCV, RandomizedSearchCV

데이터셋 로드

다음으로, 작업할 데이터셋을 로드합니다. 이 연습에서는 원하는 데이터셋을 사용할 수 있습니다.

from sklearn.datasets import load_iris

## 아이리스 데이터셋 로드
iris = load_iris()

## 데이터를 특징 (features) 과 목표 (target) 로 분할
X = iris.data
y = iris.target

추정기 및 매개변수 그리드 정의

이제 튜닝할 추정기와 검색할 매개변수 그리드를 정의해야 합니다. 매개변수 그리드는 각 하이퍼파라미터에 대해 시도할 값을 지정합니다.

from sklearn.svm import SVC

## 서포트 벡터 분류기의 인스턴스 생성
svc = SVC()

## 매개변수 그리드 정의
param_grid = {'C': [0.1, 1, 10, 100], 'gamma': [0.1, 0.01, 0.001], 'kernel': ['linear', 'rbf']}

교차 검증을 사용한 그리드 검색 수행

그리드 검색은 지정된 매개변수 그리드 내에서 모든 가능한 하이퍼파라미터 조합을 철저히 검색합니다. 교차 검증을 사용하여 각 조합의 성능을 평가합니다.

## GridSearchCV 의 인스턴스 생성
grid_search = GridSearchCV(svc, param_grid, cv=5)

## 데이터를 맞추어 그리드 검색 수행
grid_search.fit(X, y)

## 최상의 하이퍼파라미터 조합 출력
print('최상의 하이퍼파라미터:', grid_search.best_params_)

교차 검증을 사용한 무작위 검색 수행

무작위 검색은 매개변수 그리드의 일부를 무작위로 샘플링하고, 교차 검증을 사용하여 각 조합의 성능을 평가합니다. 매개변수 공간이 크고 모든 조합을 검사하는 것이 불가능할 때 유용합니다.

## RandomizedSearchCV 의 인스턴스 생성
random_search = RandomizedSearchCV(svc, param_grid, cv=5, n_iter=10, random_state=0)

## 데이터를 맞추어 무작위 검색 수행
random_search.fit(X, y)

## 최상의 하이퍼파라미터 조합 출력
print('최상의 하이퍼파라미터:', random_search.best_params_)

요약

이 실습에서는 GridSearchCVRandomizedSearchCV를 사용하여 추정자의 하이퍼파라미터를 튜닝하는 방법을 배웠습니다. 추정자와 매개변수 그리드를 정의하고, 각각 그리드 검색과 무작위 검색을 수행하여 최상의 하이퍼파라미터 조합을 찾았습니다. 하이퍼파라미터 튜닝은 머신러닝 모델의 성능을 개선하기 위한 중요한 단계입니다.