GBM 매개 변수에 대한 유용한 지침은 무엇입니까?


31

GBM을 사용하여 매개 변수를 테스트하는 데 유용한 지침 (예 : 상호 작용 깊이, Minchild, 샘플 속도 등)은 무엇입니까?

70 ~ 100 개의 기능, 인구가 200,000 명이고 상호 작용 깊이 3과 4를 테스트하려고한다고 가정 해 보겠습니다. 어떤 매개 변수 조합이 어떤 샘플을 가장 잘 보유하는지 확인하려면 몇 가지 테스트를 수행해야합니다. 이 테스트 디자인에 접근하는 방법에 대한 제안 사항이 있습니까?

답변:


34

캐럿 패키지는 문제에 대한 매개 변수 선택을 최적화하는 데 도움이됩니다. caretTrain 비 네트는 10 배 반복 교차 검증을 사용하여 gbm 매개 변수를 조정하는 방법을 보여줍니다. 다른 최적화 방법도 foreach 패키지를 사용하여 병렬로 실행할 수 있습니다. vignette("caretTrain", package="caret")문서를 읽는 데 사용하십시오 .

패키지는 gbm 모델에 대한 조정 shrinkage, n.treesinteraction.depth매개 변수를 지원 하지만 직접 추가 할 수 있습니다.

휴리스틱의 경우 이것이 내 첫 접근 방식입니다.

shrinkage: 당신이 할 시간이있는만큼 작습니다 (gbm 매뉴얼에는 더 많은 것이 있지만 일반적으로 더 작은 값으로 잘못 될 수는 없습니다). 귀하의 데이터 세트가 작기 때문에 아마도 1e-3으로 시작할 것입니다

n.trees: 나는 보통 gbm.perf충분한 양 (실제로는 일반적으로 그 값의 1.2 배 까지)이 있다고 말할 때까지 점점 더 많은 나무를 추가하는 초기 모델을 키운 다음 추가 분석을위한 안내서로 사용합니다.

interaction.depth: 이미 이것에 대한 아이디어가 있습니다. 더 작은 값을 사용해보십시오. 최대 값은 floor (sqrt (NCOL (data)))입니다.

n.minobsinnode:이 변수를 조정하는 것이 정말 중요하다는 것을 알았습니다. 알고리즘이 너무 많은 가짜 기능을 찾기에 너무 작은 것을 원하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.