그리드 만들기
이제 최적의 하이퍼파라미터를 찾을 때 탐색할 값의 그리드를 만들어야 해요. 서브모듈 pyspark.ml.tuning에는 이를 위한 ParamGridBuilder 클래스가 포함되어 있습니다(눈치채셨겠지만, PySpark에는 거의 모든 작업을 위한 서브모듈이 있어요!).
교차 검증에 사용할 그리드를 만들려면 .addGrid()와 .build() 메서드를 사용하면 됩니다. .addGrid() 메서드는 모델 파라미터(몇 개 연습 문제 전에 만든 Estimator인 모델 lr의 속성)와 시도해 볼 값들의 목록을 받습니다.
.build() 메서드는 인수를 받지 않으며, 이후에 사용할 그리드를 반환합니다.
이 연습은 강의의 일부입니다
PySpark 기초
연습 안내
- 서브모듈
pyspark.ml.tuning을 별칭tune으로 임포트하세요. - 인수 없이 클래스 생성자
ParamGridBuilder()를 호출하고, 이를grid로 저장하세요. grid에서.addGrid()를 호출하되 첫 번째 인수는lr.regParam, 두 번째 인수는np.arange(0, .1, .01)로 하세요. 두 번째 인수는numpy모듈(별칭np)의 함수로, 0부터 .1 미만까지 .01 간격의 숫자 목록을 만듭니다. 반환값으로grid를 덮어쓰세요..addGrid()를 한 번 더 호출해lr.elasticNetParam에 대한 그리드를 만들고 값은[0, 1]만 포함하도록 하여grid를 다시 업데이트하세요.grid에서.build()메서드를 호출하고, 결과로grid를 덮어쓰세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import the tuning submodule
import ____ as ____
# Create the parameter grid
grid = tune.____
# Add the hyperparameter
grid = grid.addGrid(____, np.arange(0, .1, .01))
grid = grid.addGrid(____, ____)
# Build the grid
grid = grid.build()