다음을 통해 공유


다중 클래스 의사 결정 포리스트 구성 요소

이 문서에서는 Azure Machine Learning 디자이너의 구성 요소에 대해 설명합니다.

이 구성 요소를 사용하여 의사 결정 포리스트 알고리즘을 기반으로 기계 학습 모델을 만듭니다. 의사 결정 포리스트는 태그가 지정된 데이터에서 학습하면서 일련의 의사 결정 트리를 빠르게 빌드하는 앙상블 모델입니다.

의사 결정 포리스트에 대한 자세한 정보

의사 결정 포리스트 알고리즘은 분류를 위한 앙상블 학습 방법입니다. 이 알고리즘은 여러 의사 결정 트리를 빌드한 다음 가장 인기 있는 출력 클래스에 투표하여 작동합니다. 투표는 분류 결정 포리스트의 각 트리가 정규화되지 않은 빈도의 레이블 히스토그램을 출력하는 집계의 한 형태입니다. 집계 프로세스는 이러한 히스토그램의 합계를 계산하고 결과를 정규화하여 각 레이블에 대한 ‘확률’을 가져옵니다. 예측 신뢰도가 높은 트리는 앙상블의 최종 결정에서 더 큰 가중치를 갖습니다.

일반적으로 의사 결정 트리는 매개 변수가 아닌 모델이므로 다양한 분포의 데이터를 지원합니다. 각 트리에서 각 클래스에 대해 간단한 테스트 시퀀스가 실행되어 리프 노드(결정)에 도달할 때까지 트리 구조 수준을 높입니다.

의사 결정 트리에는 다음과 같은 많은 이점이 있습니다.

  • 비선형 의사 결정 경계를 표시할 수 있습니다.
  • 학습 및 예측 중에 계산 및 메모리 사용량에 효율적입니다.
  • 통합 기능 선택 및 분류를 수행합니다.
  • 잡음 기능이 있는 경우 탄력적입니다.

Azure Machine Learning의 의사 결정 포리스트 분류자는 의사 결정 트리의 앙상블로 구성됩니다. 일반적으로 앙상블 모델은 단일 의사 결정 트리에 비해 적용 범위가 넓고 정확도가 높습니다. 자세한 내용은 의사 결정 트리를 참조 하세요.

다중 클래스 의사 결정 포리스트를 구성하는 방법

  1. 디자이너에서 파이프라인에 다중 클래스 의사 결정 포리스트 구성 요소를 추가합니다. 이 구성 요소는 분류, 모델 초기화, 기계 학습 아래에서 찾을 수 있습니다.

  2. 구성 요소를 두 번 클릭하여 속성 창을 엽니다.

  3. 재샘플링 방법의 경우 개별 트리를 만드는 데 사용되는 방법을 선택합니다. 배깅 또는 복제 중에서 선택할 수 있습니다.

    • 배깅: 배깅을 부트스트랩 집계라고도 합니다. 이 메서드에서 각 트리는 원래 데이터 세트의 크기가 될 때까지 원래 데이터 세트를 대체하여 임의로 샘플링하여 만든 새 샘플에서 증가합니다. 모델의 출력은 집계의 한 형태인 투표에 의해 결합됩니다. 자세한 내용은 부트스트랩 집계에 대한 Wikipedia 항목을 참조하세요.

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

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

    • 단일 매개 변수: 모델을 구성하는 방법을 알고 있으며 값 세트를 인수로 제공하는 경우 이 옵션을 선택합니다.

    • 매개 변수 범위: 최적 매개 변수를 잘 모르는 상태에서 매개 변수 스윕을 실행하려면 이 옵션을 선택합니다. 반복할 값의 범위를 선택하면 모델 하이퍼 매개 변수 튜닝이 제공된 설정의 가능한 모든 조합을 반복하여 최적의 결과를 생성하는 하이퍼 매개 변수를 확인합니다.

  5. 의사 결정 트리 수: 앙상블에서 만들 수 있는 최대 의사 결정 트리 수를 입력합니다. 더 많은 의사 결정 트리를 만들면 잠재적으로 더 나은 범위를 얻을 수 있지만 학습 시간이 늘어나게 될 수 있습니다.

    값을 1로 설정하는 경우 그러나 이는 하나의 트리만 생성할 수 있으며(초기 매개 변수 집합이 있는 트리) 더 이상 반복이 수행되지 않음을 의미합니다.

  6. 의사 결정 트리의 최대 깊이: 의사 결정 트리의 최대 깊이를 제한할 숫자를 입력합니다. 트리의 깊이를 늘리면 정밀도가 높아질 수 있으며, 일부 과잉 맞춤 및 학습 시간이 증가할 위험이 있습니다.

  7. 노드당 임의 분할 수: 트리의 각 노드를 빌드하는 경우 사용할 분할 수를 입력합니다. 분할트리(노드)의 각 수준에 있는 기능이 임의로 분할됨을 의미합니다.

  8. 리프 노드당 최소 샘플 수: 트리에서 터미널 노드(리프)를 만드는 데 필요한 최소 사례 수를 나타냅니다. 이 값을 늘리면 새 규칙을 만들기 위한 임계값이 증가합니다.

    예를 들어 기본값이 1이면 단일 사례라도 새 규칙을 만들 수 있습니다. 값을 5로 늘리면 학습 데이터에 동일한 조건을 충족하는 5개 이상의 사례가 포함되어야 합니다.

  9. 레이블이 지정된 데이터 세트를 연결하고 모델을 학습합니다.

    • 트레이너 모드 만들기단일 매개 변수로 설정하는 경우 태그가 지정된 데이터 세트와 모델 학습 구성 요소를 연결합니다.

    • 트레이너 만들기 모드를 매개 변수 범위설정하는 경우 태그가 지정된 데이터 세트를 연결하고 모델 하이퍼 매개 변수 조정을 사용하여 모델을 학습시킵니다.

    참고 항목

    모델 학습매개 변수 범위를 전달하는 경우 단일 매개 변수 목록의 기본값만 사용합니다.

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

    매개 변수 범위 옵션을 선택하고 임의 매개 변수에 대해 단일 값을 입력하면 다른 매개 변수가 값 범위에서 변경되는 경우에도 지정한 단일 값이 스윕 전체에서 사용됩니다.

  10. 파이프라인을 제출합니다.

다음 단계

Azure Machine Learning에서 사용 가능한 구성 요소 집합을 참조하세요.