강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

nathan님의 프로필 이미지
nathan

작성한 질문수

스파크 머신러닝 완벽 가이드 - Part 1

Crossvalidator best_model 관련 질문

작성

·

213

0

교차검증과 그리드 기반 하이퍼 파라미터 튜닝 관련해서 질문 있습니다.
(실습코드 spark_cross_validation_hyperparamer_tuning 파일)
 
수업코드를 보면 cv_model = cv.fit(train_sdf_vectorized) 을 통해서 cv_model 을 일단 도출하고
1. 그냥 cv_model 로 한번 예측을 하고
predictions = cv_model.transform(test_sdf_vectorized)
 
 
2. 그 다음에 bestModel을 명확하게 지정해서 다시 예측을 하시는데요
best_dt_model = cv_model.bestModel
best_model_predictions = best_dt_model.transform(test_sdf_vectorized)
 
우연의 일치인지는 모르지만 accuracy 결과가 같습니다.
 
질문은 다음과 같습니다.
그냥 cv_model로 예측을 하는 경우에는 자동으로 bestModel로 예측을 하는 것이 아닌가요?
만약 아니라면 어떤 파라미터로 예측을 하는 건가요?(예 : 평균값 등)
 
 

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

cross validator는 fit( )을 호출하면 최적의 하이퍼 파라미터를 찾는것과 동시에 refit을 통해서 결정된 최적의 하이퍼 파라미터로 학습까지 수행할 수 있습니다.

이렇게 학습된 모델을 bestModel 속성에 저장합니다.  그래서 cv_model.transform( )은 결국 cv_model의 bestModel.transform( )과 동일한 작업을 수행합니다.  

때문에 성능 평가가 동일한 결과를 가집니다. 

감사합니다. 

nathan님의 프로필 이미지
nathan

작성한 질문수

질문하기