예측자 스크리닝 및 모델링을 위한 트리 기반 방법 이해 및 적용
방법을 확인하세요:
- Partition, Bootstrap Forests 및 Boosted Tree를 사용한 모델
- 결정 트리의 장단점을 이해하세요
- 장점: 비선형 관계 발견, 이해하기 쉬운 결과 얻기, 많은 수의 요인 검토
- 단점: 한 번에 하나의 응답만 처리하고 수학 공식이 아닌 if-then 문을 형성하며, 높은 변동성으로 인해 유사한 데이터에 대한 모델에서 큰 차이가 발생할 수 있음
- 예측 변수와 범주형 응답 간의 관계를 정의하기 위해 분할을 사용하는 JMP 파티션 분류 트리를 구축합니다.
- 랜덤 포레스트 기법을 사용하여 Bootstrap Forest 모델을 구축하기 위해 샘플 수, 트리(모델) 크기 및 샘플 속도를 정의합니다.
- 더 작은 모델을 최종 모델로 결합하는 Boosted Tree 모델을 구축하기 위해 레이어 수, 트리당 분할, 학습률 및 샘플링률을 정의합니다.
- 결과 해석 및 모델 조정
- 범주별 응답에 대한 잘못된 분류를 식별하고 혼동 행렬 및 결정 행렬을 사용하여 결과를 해석하기 위해 이익 행렬 보고서를 지정하고 실행합니다.
참고사항: Q&A는 17:00, 38:00에 포함됩니다.
예측 모델링 및 머신 러닝Re: 예측자 선별 및 모델링을 위한 트리 기반 방법 이해 및 적용매우 상세한 분석에 감사드립니다. 귀하의 모든 제안을 처리하는 데 시간이 필요하며 나중에 답변해 드리겠습니다. 나는 내 데이터 세트에 많은 문제가 있다는 것을 알고 있습니다. 한 가지 추가 사항은 그것이 불균형하다는 것입니다. 많은 과거 데이터와 여기에 추가된 일부 실험이 혼합되어 있다는 것입니다. 그리고 우리 개발자들은 모든 데이터에서 정보를 얻고 싶어하며 아무것도 버리지 않기를 원합니다. 이러한 실험은 이상값처럼 보일 수 있지만 이상값은 아니며 의미 있는 결과가 있는 단일 지점입니다. 내 데이터 세트가 유럽 디스커버리 서밋에서 발표될 예정이므로 온라인이 되면 더 자세히 논의할 수 있습니다. BR
Re: 예측자 선별 및 모델링을 위한 트리 기반 방법 이해 및 적용@Peter_Hersh : 당신의 문장이 무엇을 의미하는지 잘 모르겠습니다. 트리 기반 모델은 이상값에 매우 취약합니다." , 트리 기반 방법은 이상값에 대해 매우 강력하거나 적어도 이상값이 무시할 수 있는 영향을 미치기 때문입니다. 이 측면에 대한 많은 예와 출판물이 이미 있으며, 이것이 바로 이러한 유형의 모델이 "단순성"과 낮은 전처리/정리 단계(이상치에 대해 큰 작업이 필요하지 않음, 결측값 처리, 분포에 대한 가정 없음 등). 회귀 모델과 랜덤 포레스트에 대한 이상값의 영향 비교(그리고 두 알고리즘에 적용된 이상값을 처리하는 다양한 기술의 이점(스포일러: 랜덤 포레스트 알고리즘에 큰 영향을 주지 않음))는 여기에서 볼 수 있습니다. 기계 학습 모델을 이상치에 대해 강력하게 만드는 방법 - KDnuggets
@Peter_Hersh @게오르그 그러나 트리 기반 모델을 선택할 때 고려해야 할 다른 사항은 다음과 같습니다.
- 과적합 이는 주로 의사결정 트리 및 부스팅 트리에서 발생할 수 있습니다(적절한 검증이 수행되지 않은 경우). 랜덤 포레스트는 과적합이 덜 발생하는 경향이 있습니다. 부트스트래핑 프로세스: 개별 나무에 대한 독립적인 훈련, 각각은 훈련 데이터의 부트스트랩 샘플에 적합합니다. 부트스트래핑 프로세스를 통해 일부 샘플은 개별 트리 생성에 "사용"되지 않지만(OOB(Out Of Bag) 샘플이라고 함) 모델의 오류를 추정하는 데 사용할 수 있습니다. (따라서 "검증", 즉 모델에서 볼 수 없는 데이터에 대한 오류 추정 역할을 합니다).
- 상관관계/다중공선성 :티 다양한 트리 기반 모델은 다중 공선성 또는 변수 간의 상관 관계를 다르게 처리합니다. 데이터세트에 강한 상관관계/다중공선성이 있는 경우 다음과 같은 몇 가지 차이점이 있을 수 있습니다. 의사결정 트리 기능 중요도 플롯(또는 Gradient Boosted Tree)을 보면 "최고의" 기능(가장 좋은 분할 속성을 가진 기능)만 선택되고 다른 기능(첫 번째 기능과 상관 관계)이 선택되어 있음을 알 수 있습니다. 선택되지 않았으며 기능 중요도가 0(또는 0에 가까움)입니다. 이는 의사결정 트리가 모든 예측변수를 사용하고 각 수준에서 최상의 분할을 결정하려고 시도하므로 "더 나쁜" 상관 특성이 삭제되기 때문에 이는 정상적인 현상입니다.따라서 결정/부스팅 트리를 다시 로드하면 상관 관계/다중 공선성이 있는 경우 다른 모델이 생성될 수 있습니다(매번 동일한 기능/변수를 선택하지 않을 수 있으므로). Random Forest 기능 중요도 플롯을 보면 모든 기능에 점수가 있고 심지어 상관된 기능도 있음을 알 수 있습니다. 이는 포리스트의 각 의사 결정 트리에 대해 무작위로 기능을 선택하는 기능 배깅으로 인해 각 기능이 개별 트리에서 선택될 수 있는 동일한 "기회"를 제공하기 때문입니다. 따라서 이 모델을 다시 로드하면 매우 유사한 모델이 제공됩니다.
- 소음 (또는 편향/분산 절충): B osted tree는 Random Forest보다 더 정확할 수 있습니다. 부스팅 트리에서는 각 개별 트리가 이전 트리의 오류를 수정하기 위해 반복적으로 훈련되므로 이 알고리즘은 데이터의 복잡한 패턴을 포착할 수 있습니다. 그러나 데이터에 잡음이 있는 경우 부스팅된 트리가 과적합되어 잡음 모델링을 시작할 수 있습니다. 따라서 데이터세트 크기와 데이터의 노이즈에 따라 Boosted Tree와 Random Forest 중에서 선택할 수 있습니다. 첫 번째 항목은 매우 정확하지만 노이즈(결정 트리와 같이 낮은 편향, 높은 분산)에 강하지 않습니다. 비교 RF는 덜 정확/정확하지만 노이즈에 더 강력합니다(편향은 포리스트의 각 개별 트리와 동일하며 배깅 프로세스로 인해 결정 트리 또는 부스팅 트리보다 분산이 낮습니다).
또한 (이전 사항 외에도) 목표(예측/설명?), 이 데이터세트에 대한 모델 성능을 평가하는 데 사용된 측정항목의 영향, 데이터세트 크기 및 차원(변수 수 대 변수 수)도 고려해야 합니다. 관찰 수), 데이터의 대표성 등
작은 데이터 세트(노이즈가 있을 수 있음)를 사용하는 경우 Random Forest가 Boosted Tree/Decision Tree보다 더 안전하고 강력한 대안일 수 있습니다.
무엇 외에도 @Peter_Hersh 부스팅된 트리의 접기/검증 열에서 성능이 다른 경우 이는 데이터의 하위 집합에 비정상적인 값이 있을 수 있음을 의미하므로 다변량 플랫폼에서 거리(Jackknife/Mahalanobis)를 살펴보는 것이 가능합니다. 이 하위 집합에서 일반적인 관찰을 찾아내고 식별할 수 있습니다.
답변이 길어서 죄송합니다. 도움이 되셨으면 좋겠습니다.
Re: 예측자 선별 및 모델링을 위한 트리 기반 방법 이해 및 적용@게오르그 좋은 질문입니다.@Victor_G k-fold의 모델 평균화 또는 앙상블 모델링을 사용하는 몇 가지 멋진 솔루션이 있습니다.추가 실행으로 모델이 변경되면서 데이터에 많은 노이즈가 있는 것 같습니다.데이터의 변동성을 더 잘 이해하는 데 도움이 되는 몇 가지 추가 요인이나 실행이 없으면 이 시점에서는 모델이 그다지 유용하지 않을 수 있습니다.
이를 테스트하는 방법은 홀드백 유효성 검사를 위한 여러 유효성 검사 열을 만드는 것입니다.서로 다른 검증 열을 사용하는 모델이 서로 크게 다른 경우 이는 데이터의 무작위 하위 집합이 데이터 전체를 대표하지 않음을 나타냅니다.즉, 약간의 변경 없이는 정확한 예측 모델을 만드는 데 어려움을 겪게 됩니다.
트리 기반 모델은 이상값에 매우 취약하므로 모델을 실행하기 전에 이상값을 확인하는 것이 좋습니다.
이것이 도움이 되기를 바랍니다. 상황이 어떻게 진행되는지 알려주세요.
Re: 예측자 선별 및 모델링을 위한 트리 기반 방법 이해 및 적용@게오르그 귀하의 질문에 관해 몇 가지 아이디어가 있을 수 있습니다.
- 모델의 견고성을 평가하기 위해 K-겹 교차 검증(분석 -> 예측 모델링에서 사용 가능한 "모델 스크리닝" 플랫폼 사용)을 시도합니다. 각 접기에 대한 결과를 얻을 수 있으므로 훈련 또는 검증 세트에 어떤 실행이 있는지에 관계없이 모델이 견고한지 평가하기가 더 쉽습니다.
각 모델에 대한 수식을 저장할 수 있으며(K-1 접기에 대해 훈련되고 1 접기에서 검증됨) 이후에는 서로 다른 접기에 생성된 이러한 개별 모델의 앙상블 또는 평균화를 수행할 수 있지만 일부 데이터는 유지해야 합니다. 여기에서는 데이터 및 검증 세트에 대해 생성된 다양한 모델의 평균을 계산하므로 모델을 공정하게 평가하려면 독립적인 테스트 세트를 생성하고 테스트 데이터를 완전히 "제거"하여 정보를 방지해야 합니다. 데이터 누출 또는 과적합.
- 모델에 대해 재현 가능한 테스트를 원하거나 최종 모델을 "수정"하려면 임의의 숫자를 입력하여 무작위 시드를 수정할 수 있습니다. 이렇게 하면 스크립트와 고정된 무작위 시드로 모델을 다시 로드하면 항상 다음을 수행할 수 있습니다. 동일한 결과가 나타납니다.
- 마지막으로 하이퍼 매개변수를 최적화하거나 해당 값(깊이, 최소 크기 분할 등)에 약간의 차이를 만들어 다른 부스팅된 트리(또는 기타 트리 기반 모델)를 생성해 볼 수도 있습니다. 모델을 선택하거나 개별 모델에 약간의 다양성을 부여한 다음 앙상블이나 평균을 사용하여 결합합니다.
이 몇 가지 아이디어가 도움이 되기를 바랍니다.
Re: 예측자 선별 및 모델링을 위한 트리 기반 방법 이해 및 적용@Peter_Hersh ,좋은 영상 올려주셔서 감사합니다! 제 경우에는 가변 데이터가 있고 의사결정 트리를 사용하면 실행마다 다른 모델이 생성됩니다. 말씀하신 것처럼 의사결정 트리에는 이러한 "단점"이 있습니다. 귀하의 경우에는 검증 열을 사용했습니다. 이는 훈련 및 테스트 선택이 더 이상 무작위가 아니라는 것을 의미합니다. 내 경우에는 "홀드아웃 부분"을 사용하는 것이 실행 간 "노이즈"의 또 다른 원인입니다.보다 안정적인 모델을 얻는 방법이나 최종 모델을 정의/수정하는 방법에 대한 아이디어나 전략이 있나요? 저는 Boosted Tree를 사용하고 있습니다. 모델 비교에서 가장 좋은 성능을 발휘했기 때문입니다.미리 감사드립니다!