다음을 통해 공유


2클래스 의사 결정 포리스트

중요

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

의사 결정 포리스트 알고리즘을 사용하여 2클래스 분류 모델 만들기

범주: Machine Learning/모델 초기화/분류

참고

적용 대상: Machine Learning Studio(클래식) 전용

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

모듈 개요

이 문서에서는 Machine Learning Studio(클래식)에서 2클래스 의사 결정 포리스트 모듈을 사용하여 의사 결정 포리스트 알고리즘을 기반으로 기계 학습 모델을 만드는 방법을 설명합니다.

의사 결정 포리스트는 고속 지도 앙상블 모델입니다. 이 모듈은 최대 2개의 결과를 포함하는 대상을 예측하려는 경우에 적합합니다. 최상의 결과를 위해 의사 결정 트리 모델을 구성하는 방법을 잘 모르는 경우 모델 하이퍼 매개 변수 조정 모듈을 사용하여 여러 모델을 학습하고 테스트하는 것이 좋습니다. 튜닝은 여러 가능성을 반복하고 최적의 솔루션을 찾습니다.

의사 결정 포리스트의 이해

이 의사 결정 포리스트 알고리즘은 분류 작업을 위한 앙상블 학습 방법입니다. 앙상블 방법은 단일 모델에 의존하는 대신 여러 관련 모델을 만들고 어떤 방식으로든 결합하면 더 나은 결과와 더 일반화된 모델을 얻을 수 있다는 일반 원칙을 기반으로 합니다. 일반적으로 앙상블 모델은 단일 의사 결정 트리에 비해 적용 범위가 넓고 정확도가 높습니다.

여러 가지 방법으로 개별 모델을 만들고 앙상블에서 결합할 수 있습니다. 의사 결정 포리스트의 특정 구현은 여러 의사 결정 트리를 빌드한 다음, 가장 인기 있는 출력 클래스에서 투표하는 방식으로 작동합니다. 투표는 앙상블 모델에서 결과를 생성하는 비교적 잘 알려진 방법 중 하나입니다.

  • 전체 데이터 세트를 사용하여 많은 개별 분류 트리가 만들어지지만, 시작점(일반적으로 임의)은 다릅니다. 이는 개별 의사 결정 트리에서 데이터 또는 기능 중 일부만을 임의로 사용할 수 있는 랜덤 포리스트 방식과는 다릅니다.
  • 의사 결정 포리스트 트리의 각 트리는 레이블의 정규화되지 않은 빈도 히스토그램을 출력합니다.
  • 집계 프로세스는 이러한 히스토그램의 합계를 계산하고 결과를 정규화하여 각 레이블에 대한 "확률"을 가져옵니다.
  • 앙상블의 최종 결정에서 예측 신뢰도가 높은 트리에 더 큰 가중치가 주어집니다.

일반적으로 의사 결정 트리는 분류 작업에 많은 이점이 있습니다.

  • 의사 결정 트리는 비선형 의사 결정 경계를 캡처할 수 있습니다.
  • 계산 및 메모리 사용에 효율적이므로 많은 데이터를 학습하고 예측할 수 있습니다.
  • 기능 선택은 학습 및 분류 프로세스에 통합되어 있습니다.
  • 트리는 시끄러운 데이터와 많은 기능을 수용할 수 있습니다.
  • 트리는 비파라메트릭 모델이며 이는 다양한 방식으로 분포된 데이터를 처리할 수 있음을 의미합니다.

그러나 단순한 의사 결정 트리는 데이터에 대해 과잉 맞춤되어 트리 앙상블보다 일반화 가능성이 떨어질 수 있습니다.

자세한 내용은 의사 결정 포리스트 또는 기술 노트 섹션에 나열된 기타 문서를 참조하세요.

Two-Class 의사 결정 포리스트를 구성하는 방법

  1. Machine Learning Studio(클래식)에서 실험에 2클래스 의사 결정 포리스트 모듈을 추가하고 모듈의 속성 창을 엽니다.

    Machine Learning 아래에서 해당 모듈을 찾을 수 있습니다. 초기화분류를 차례로 확장합니다.

  2. 재샘플링 방법의 경우 개별 트리를 만드는 데 사용되는 방법을 선택합니다. 모음 만들기 또는 복제를 선택할 수 있습니다.

    • 모음 만들기: 모음 만들기를 ‘부트스트랩 집계’라고도 합니다. 이 방법에서는 원본 데이터 세트의 크기가 될 때까지 원본 데이터 세트를 임의로 샘플링하여 만든 새 샘플에서 각 트리가 성장하도록 합니다.

      모델의 출력은 집계의 한 가지 형식인 ‘투표’로 결합됩니다. 분류 결정 포리스트의 각 트리는 레이블의 정규화되지 않은 빈도 히스토그램을 출력합니다. 집계는 이러한 히스토그램을 합산하고 정규화하여 각 레이블에 대한 "확률"을 가져오는 것입니다. 이러한 방식으로 앙상블의 최종 결정에서 예측 신뢰도가 높은 트리에 더 높은 가중치가 주어집니다.

      자세한 내용은 부트스트랩 집계에 대한 Wikipedia 항목을 참조하세요.

    • 복제: 복제에서 각 트리는 정확히 동일한 입력 데이터에 대해 학습됩니다. 각 트리 노드에 사용되는 분할 조건자의 결정은 임의로 유지되며 트리는 다양합니다.

      복제 옵션을 사용하는 학습 프로세스에 대한 자세한 내용은 기술 정보 섹션에 나열된 문서를 참조하세요.

  3. 트레이너 모드 만들기 옵션을 설정하여 모델을 학습시키려는 방법을 지정합니다.

    • 단일 매개 변수: 모델을 어떻게 구성하려는지 아는 경우 특정 값 집합을 인수로 제공할 수 있습니다.

    • 매개 변수 범위: 최상의 매개 변수를 잘 모르는 경우 여러 값을 지정하고 모델 하이퍼 매개 변수 조정 모듈을 사용하여 최적의 구성을 찾아 최적의 매개 변수를 찾을 수 있습니다. 트레이너는 제공한 설정의 여러 조합을 반복하고 최상의 모델을 생성하는 값의 조합을 결정합니다.

  4. 의사 결정 트리 수에 앙상블에서 만들 수 있는 최대 의사 결정 트리 수를 입력합니다. 더 많은 의사 결정 트리를 만들면 적용 범위가 확대될 수 있지만 학습 시간이 늘어나게 됩니다.

    참고

    또한 이 값은 학습된 모델을 시각화할 때 표시되는 트리 수를 제어합니다. 단일 트리를 보거나 인쇄하려면 값을 1로 설정할 수 있습니다. 그러나 하나의 트리(초기 매개 변수 세트가 있는 트리)만 생성할 수 있으며 추가 반복은 수행되지 않습니다.

  5. 의사 결정 트리의 최대 깊이의 경우 모든 의사 결정 트리의 최대 깊이를 제한하는 숫자를 입력합니다. 트리의 수준을 늘리면 정밀도는 높아질 수 있지만 학습 시간이 더 길어지고 과잉 맞춤이 발생할 수 있습니다.

  6. 노드당 임의 분할 수에 트리의 각 노드를 작성할 때 사용할 분할 수를 입력합니다. 분할은 트리(노드)의 각 수준에 있는 기능이 무작위로 분할됨을 의미합니다.

  7. 리프 노드당 최소 샘플 수는 트리에서 터미널 노드(리프)를 만드는 데 필요한 최소 케이스 수를 나타냅니다.

    이 값을 늘려 새 규칙을 작성하기 위한 임계값을 늘립니다. 예를 들어, 기본값이 1이면 단일 사례만으로도 새 규칙을 하나 작성할 수 있습니다. 값을 5로 늘리면 학습 데이터에 동일한 조건을 만족하는 사례가 다섯 개 이상 있어야 합니다.

  8. 범주 기능에 대해 알 수 없는 값 허용 옵션을 선택하여 학습 또는 유효성 검사 세트에 알 수 없는 값에 대한 그룹을 만듭니다. 알려진 값에 대해서는 모델의 정확도가 떨어질 수 있지만 새 (알 수 없는) 값은 더 잘 예측할 수 있습니다.

    선택을 취소하면 모델에서 학습 데이터에 포함된 값만 수락할 수 있습니다.

  9. 레이블이 지정된 데이터 세트와 학습 모듈 중 하나를 연결합니다.

    참고

    모델 학습에 매개 변수 범위를 전달하는 경우 매개 변수 범위 목록의 첫 번째 값만 사용됩니다.

    단일 매개 변수 값 집합을 모델 하이퍼 매개 변수 조정 모듈에 전달하는 경우 각 매개 변수에 대한 설정 범위를 요청할 때 해당 값을 무시하고 학습자에 대한 기본값을 사용합니다.

    매개 변수 범위 옵션을 선택하고 매개 변수에 대해 단일 값을 입력하면 다른 매개 변수가 값 범위에서 변경되더라도 스윕 전체에서 해당 단일 값이 사용됩니다.

결과

학습 완료 후 다음이 수행됩니다.

  • 각 반복에서 만든 트리를 보려면 모델 학습 모듈을 마우스 오른쪽 단추로 클릭하고 시각화할 학습된 모델을 선택합니다. 모델 하이퍼 매개 변수 조정을 사용하는 경우 모듈을 마우스 오른쪽 단추로 클릭하고 학습된 최상의 모델을 선택하여 최상의 모델을 시각화합니다.

    각 트리를 클릭하여 분할로 드릴다운하고 각 노드에 대한 규칙을 확인합니다.

  • 모델의 스냅샷을 저장하려면 학습된 모델 출력을 마우스 오른쪽 단추로 클릭하고 모델 저장을 선택합니다. 저장된 모델은 실험의 연속 실행에서 업데이트되지 않습니다.

  • 점수 매기기 모델을 사용하려면 실험에 모델 점수 매기 기 모듈을 추가합니다.

기계 학습에서 의사 결정 포리스트를 사용하는 방법에 대한 예제는 Azure AI 갤러리의 샘플 실험을 참조하세요.

  • 뉴스 분류: 다중 클래스 분류자를 2클래스 의사 결정 포리스트 알고리즘과 One-vs-All다중 클래스를 사용하여 빌드된 모델과 비교합니다.

  • 예측 유지 관리: 2클래스 의사 결정 포리스트 알고리즘을 사용하여 자산이 특정 시간 프레임 내에 실패할지 예측하는 확장 연습입니다.

기술 정보

이 섹션에는 추가 구현 세부 정보, 연구 및 질문과 대답이 포함되어 있습니다.

사용 팁

제한된 데이터가 있거나 모델 학습에 소요된 시간을 최소화하려면 다음 설정을 시도합니다.

제한된 학습 집합

학습 집합의 인스턴스 수가 제한되는 경우 다음을 수행합니다.

  • 더 많은 수의 의사 결정 트리(예: 20개 이상)를 사용하여 의사 결정 포리스트를 만듭니다.
  • 다시 만들기에 모음 만들기 옵션을 사용합니다.
  • 노드당 더 많은 수의 임의 분할(예: 1,000개 이상)을 지정합니다.

제한된 학습 시간

학습 집합에 인스턴스 수가 많으며 학습 시간이 제한되는 경우 다음을 수행합니다.

  • 더 적은 수의 의사 결정 트리(예: 5-10개)를 사용하여 의사 결정 포리스트를 만듭니다.
  • 다시 만들기에 복제 옵션을 사용합니다.
  • 노드당 더 적은 수의 임의 분할(예: 100개 미만)을 지정합니다.

구현 세부 정보

Microsoft Research의 이 문서에서는 의사 결정 트리를 사용하는 앙상블 방법에 대한 유용한 정보를 제공합니다. 그루터기에서 나무에 숲에.

복제 옵션을 사용하는 학습 프로세스에 대한 자세한 내용은 Computer Vision 및 의료 이미지 분석에 대한 의사 결정 포리스트를 참조하세요. 크리미니시와 제이 샷턴. Springer 2013.

모듈 매개 변수

Name 범위 Type 기본값 설명
다시 만들기 방법 모두 ResamplingMethod 모음 만들기 다시 만들기 방법을 선택합니다.
의사 결정 트리의 수 >=1 정수 8 앙상블에서 만들 의사 결정 트리의 수를 지정합니다.
의사 결정 트리의 최대 수준 >=1 정수 32 만들 수 있는 의사 결정 트리의 최대 수준을 지정합니다.
노드당 임의 분할의 수 >=1 정수 128 노드당 생성되는 분할의 수를 지정합니다. 이러한 분할에서 최적의 분할이 선택됩니다.
리프 노드당 최소 샘플 수 >=1 정수 1 리프 노드를 생성하는 데 필요한 학습 샘플의 최소 수를 지정합니다.
범주 기능에서 알 수 없는 값 허용 모두 부울 True 기존 범주 기능의 알 수 없는 값을 새 추가 기능에 매핑할 수 있는지 여부를 나타냅니다.

출력

Name 유형 설명
학습되지 않은 모델 ILearner 인터페이스 학습되지 않은 이진 분류 모델입니다.

참고 항목

분류
의사 결정 포리스트 회귀
다중 클래스 의사 결정 포리스트
전체 모듈 목록