오프백 평가
랜덤 포리스트에는 검증 데이터 세트가 필요하지 않습니다. 대부분의 랜덤 포리스트는 OOB 평가 (OOB 평가)라는 기법을 사용하여 모델의 품질을 평가합니다. OOB 평가는 학습 세트를 교차 검증의 테스트 세트인 것처럼 취급합니다.
앞서 설명한 대로 랜덤 포레스트의 각 결정 트리는 일반적으로 학습 예시의 약 67% 로 학습됩니다. 따라서 각 결정 트리는 학습 예시의 약 33% 를 보지 못합니다. OOB 평가의 핵심 개념은 다음과 같습니다.
- 학습 세트에서 랜덤 포레스트를 평가합니다.
- 각 예시의 경우 학습 중에 예시를 보지 못한 결정 트리만 사용합니다.
다음 표는 6개의 예시로 학습된 결정 트리 3개가 있는 랜덤 포레스트의 OOB 평가를 보여줍니다. 예, 이는 Bagging 섹션의 테이블과 동일합니다. 이 표에는 OOB 평가 중에 어떤 예시와 함께 어떤 결정 트리가 사용되는지 표시됩니다.
표 7. OOB 평가 - 숫자는 특정 예시의 학습 중에 특정 학습 예시가 사용된 횟수를 나타냅니다.
학습 예시 | OOB 평가의 예 | ||||||
---|---|---|---|---|---|---|---|
#1 | #2 | #3 | #4 | #5 | #6 | ||
원본 데이터 세트 | 1 | 1 | 1 | 1 | 1 | 1 | |
결정 트리 1 | 1 | 1 | 0 | 2 | 1 | 1 | #3 |
결정 트리 2 | 3 | 0 | 1 | 0 | 2 | 0 | 2번, 4번, 6번 |
결정 트리 3 | 0 | 1 | 3 | 1 | 0 | 1 | #1 및 #5 |
표 7에 표시된 예시에서 학습 예시 1의 OOB 예측은 결정 트리 3으로 계산됩니다 (결정 트리 1과 2가 학습에 이 예시를 사용했기 때문). 실제로 적절한 크기의 데이터 세트와 몇 개의 결정 트리가 있는 경우 모든 예시에는 OOB 예측이 있습니다.
compute_oob_performances=True
로 학습된 경우 학습 로그에서 OOB 평가를 사용할 수 있습니다.
OOB 평가는 랜덤 포레스트 모델의 순열 변수 중요도를 계산하는 데도 효과적입니다. 변수 중요도에서 배열 변수 중요도는 이 변수가 셔플될 때 모델 품질의 감소를 측정하여 변수의 중요도를 측정한다고 기억하세요. 랜덤 포레스트 'OOB 순환 변수 중요도'는 OOB 평가를 사용하여 계산된 순환 변수 중요도입니다.
compute_oob_variable_importances=True
로 학습된 경우 OOB 순열 변수 중요도는 학습 로그에서 사용할 수 있습니다.