H2O AutoML의 리더 보드
방금 H2O Auto ML 사용법을 배우기 시작했고 이진 분류 모델을 시도하고 있습니다.
나는 모델의 순위가 매 실행마다 바뀌는 이유를 이해하려고 노력하고 있습니다.
상위 5 개 모델은 상위 5 개에 남아 있지만 모델은 상위 또는 하위 순위로 약간 이동합니다.
DRF는 한 번은 2 위 였고, 다른 때는 3 위를 기록했습니다.
변화의 원인이 될 수있는 몇 가지 이유가 있습니다.
- 알고리즘에 대한 씨앗은 매번 변경됩니다.
- 할당 된 리더 보드 프레임이 없습니다.
- RF는 프로세스의 일부로 무작위 샘플링을 포함하여 매번 다른 트리를 만듭니다.
- 리더 보드는 변경되지 않으며 데이터 / 코드에 대한 다른 변경은 변경에 대한 책임이 있습니다.
이것을 더 잘 이해하도록 도와 주시겠습니까?
답변
씨앗을 놓지 않는 것 같으니 거기서 시작해야합니다. 고유 한 임의성을 가진 알고리즘 (예 : XGBoost, GBM, Random Forest)이 매번 동일한 답변을 생성하려면 임의 시드를 설정해야합니다 (최소). H2O AutoML에는 단일 seed인수 (모든 개별 알고리즘으로 연결됨)가 있으며 매번 동일한 값으로 설정하면 대부분 의 모델이 반복 실행에서 동일합니다. 기본적으로 AutoML은 무작위 접기로 교차 검증도 수행하므로 매번 동일한 접기가 사용되도록 보장합니다.
몇 가지주의 사항이 있습니다. H2O 딥 러닝은 기본적으로 시드를 설정하더라도 재현 할 수 없으므로 해당 모델은 항상 변경됩니다. "All Models"Stacked Ensemble은 다른 모델과 함께 Deep Learning 모델을 사용하므로 최종 앙상블도 재현 할 수 없습니다.
마지막으로, 당신은 사용해야하는 max_models대신에 max_runtime_secs, 그렇지 않으면 당신은 리더에 모델의 다른 번호를 (그리고 모든 모델 스택 앙상블의) 후속 실행에 수 - AutoML가 실행해야하는 시간을 제어에 있습니다.