기타 주제

이 단원에서는 다음 주제를 살펴봅니다.

  • 랜덤 포레스트 해석
  • 랜덤 포레스트 학습
  • 랜덤 포레스트의 장단점

랜덤 포레스트 해석

랜덤 포레스트는 결정 트리보다 해석이 더 복잡합니다. 랜덤 포레스트 결정 트리가 포함되어 있습니다 따라서 판단하기가 중요합니다. 하지만 확률 분포를 몇 가지 방법을 살펴보겠습니다.

랜덤 포레스트를 해석하는 한 가지 접근 방식은 단순하게 랜덤 포레스트를 학습시키고 해석하는 결정 트리를 생성합니다. 랜덤 포레스트와 CART는 모두 '동일한 글로벌 뷰를 공유'하며 의 데이터 세트로 그룹화됩니다. 이 옵션은 단순한 데이터 세트에 적합하며 모델을 이해하는 데 도움이 됩니다.

변수 중요도 역시 좋은 해석 가능성이 있습니다. 접근하는 것입니다. 예를 들어, 다음 표에서는 랜덤 포레스트 모델에 대해 여러 특성을 인구조사 데이터 세트 (또한 성인용이라고 함).

<ph type="x-smartling-placeholder"></ph> 표 8. 14가지 특성의 변수 중요도 를 통해 개인정보처리방침을 정의할 수 있습니다.

기능 합계 점수 평균 정확도 감소 AUC 평균 감소 평균 최소 수심 노드 수 PR-AUC 평균 감소 숫자 루트
relationship

4203592.6

0.0045

0.0172

4.970

57040

0.0093

1095

capital_gain

3363045.1

0.0199

0.0194

2.852

56468

0.0655

457

marital_status

3128996.3

0.0018

0.0230

6.633

52391

0.0107

750

나이

2520658.8

0.0065

0.0074

4.969

356784

0.0033

200

education

2015905.4

0.0018

-0.0080

5.266

115751

-0.0129

205

occupation

1939409.3)

0.0063

-0.0040

5월 17일

221935

-0.0060

62

education_num

1673648.4

0.0023

-0.0066

6월 09일

58303

-0.0080

197

fnlwgt

1564189.0

-0.0002

-0.0038

9.969

431987

-0.0049점

0

hours_per_week

1333976.3

0.0030

0.0007

6.393

206526

-0.0031

20

capital_loss

866863.8

0.0060

0.0020

8.076

58531

0.0118

1

workclass

644208.4

0.0025

-0.0019

9.898

132196

-0.0023

0

native_country

538841.2

0.0001

-0.0016

9.434

67211

-0.0058

0

sex

226049.3

0.0002

0.0002

10.911

37754

-0.0011

13

인종

168,180.9

-0.0006

-0.0004

11.571

42262

-0.0031

0

변수 중요도의 정의마다 척도가 다르다는 것을 알 수 있습니다. 특성의 순위에 차이가 발생할 수 있습니다

모델 구조에서 비롯된 변수 중요도 (예: 합계) 점수, 평균 최소 깊이, 노드 수, 위 테이블의 루트 수) 결정 트리와 유사하게 계산된 값('장바구니 | 변수 중요도' 섹션 참조) 랜덤 포레스트를 살펴보겠습니다

순열 변수 중요도 (예: {accuracy, auc, pr-auc}(위 표의 pr-auc})는 모델 제약이 없는 측정값으로, 모든 머신러닝 모델을 학습시킬 수 있습니다 랜덤 포레스트를 사용하면 검증 데이터 세트를 사용하는 대신 순열을 계산하여 아웃바운드 평가로 ML 모델을 조정할 수 있습니다

SHAP (SHapley Additive exPlanations)은 모델 제약이 없는 방법으로 개별 예측을 설명하거나 모델별 해석을 수행할 수 있습니다. (자세한 내용은 해석 가능한 머신러닝 모델 애그노스틱 해석을 소개합니다.) SHAP: 일반적으로 컴퓨팅 비용이 많이 들지만 의사결정 속도가 크게 빨라짐 결정 포레스트를 해석하는 좋은 방법입니다.

사용 예

이전 강의에서는 작은 데이터 세트에서 CART 결정 트리를 학습시켰습니다. 이를 위해 tfdf.keras.CartModel를 호출합니다. 랜덤 포레스트 모델을 학습시키려면 tfdf.keras.CartModeltfdf.keras.RandomForestModel로 바꾸기만 하면 됩니다.

model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)

장단점

이 섹션에서는 랜덤 포레스트의 장단점을 간략하게 설명합니다.

장점:

  • 결정 트리와 마찬가지로 랜덤 포레스트는 기본적으로 숫자 및 특성 전처리가 필요 없는 경우가 많습니다
  • 결정 트리는 독립적이므로 랜덤 포레스트는 있습니다. 따라서 랜덤 포레스트를 빠르게 학습시킬 수 있습니다.
  • 랜덤 포레스트에는 훌륭한 결과를 제공하는 기본 매개변수가 있습니다. 조정 모델에 거의 영향을 미치지 않는 경우가 많습니다

단점:

  • 결정 트리는 가지치기되지 않으므로 커질 수 있습니다. 더 많은 모델이 노드 수가 100만 개 미만인 것이 일반적입니다. 배포의 크기 (및 추론 속도)는 랜덤 포레스트가 문제가 될 수 있습니다
  • 랜덤 포레스트는 내부 표현을 학습하고 재사용할 수 없습니다. 각 결정 트리 (및 각 결정 트리의 각 브랜치)가 데이터 세트 패턴을 지원합니다. 일부 데이터 세트, 특히 테이블이 아닌 데이터 세트 (예: 이미지, 이렇게 하면 랜덤 포레스트는 다른 방법보다 더 나쁜 결과를 초래합니다.