다중 클래스 의사 결정 포리스트

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

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

참고

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

이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.

모듈 개요

이 문서에서는 Azure Machine Learning Studio (클래식)에서 다중 클래스 의사 결정 포리스트 모듈을 사용 하 여 의사 결정 포리스트 알고리즘을 기반으로 기계 학습 모델을 만드는 방법을 설명 합니다. 의사 결정 포리스트는 일련의 의사 결정 트리를 매우 신속 하 게 작성 하는 동시에 태그가 지정 된 데이터에서 학습 하는 앙상블 모델입니다.

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

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

일반적으로 의사 결정 트리는 비 패라메트릭 모델입니다. 즉, 다양 한 배포를 사용 하는 데이터를 지원 합니다. 각 트리에서는 각 클래스에 대해 간단한 테스트 시퀀스를 실행하여 리프 노드(의사 결정)에 도달할 때까지 트리 구조 수준을 늘립니다.

의사 결정 트리를 사용하는 경우 많은 이점이 제공됩니다.

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

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

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

최상의 매개 변수를 잘 모르는 경우 모델 하이퍼 매개 변수 조정 모듈을 사용 하 여 여러 모델을 학습 하 고 테스트 하 고 최적의 매개 변수를 찾는 것이 좋습니다.

  1. Studio (클래식)의 실험에 다중 클래스 의사 결정 포리스트 모듈을 추가 합니다. 이 모듈은 Machine Learning, 모델 초기화분류 에서 찾을 수 있습니다.

  2. 모듈을 두 번 클릭 하 여 속성 창을 엽니다.

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

    • 모음 만들기: 모음 만들기를 부트스트랩 집계 라고도 합니다. 이 메서드에서 각 트리는 원래 데이터 집합의 크기에 따라 원래 데이터 집합을 무작위로 샘플링 하 여 만든 새 샘플에서 증가 합니다. 모델의 출력은 집계의 일종 투표 로 결합 됩니다. 자세한 내용은 부트스트랩 집계를 위한 위키백과 항목을 참조 하세요.

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

    지침은 다중 클래스 의사 결정 포리스트 모델을 구성 하는 방법 섹션을 참조 하세요.

  4. 강사 모드 만들기 옵션을 설정 하 여 모델을 학습 하는 방법을 지정 합니다.

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

    • 매개 변수 범위: 최적의 매개 변수를 잘 모르는 상태에서 매개 변수 스윕을 사용 하려는 경우이 옵션을 사용 합니다.

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

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

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

  7. 노드당 임의 분할 수: 트리의 각 노드를 빌드할 때 사용할 분할 수를 입력 합니다. 분할 은 트리 (노드)의 각 수준에서 무작위로 분할 된 기능을 의미 합니다.

  8. 리프 노드당 최소 샘플 수: 트리에서 터미널 노드 (리프)를 만드는 데 필요한 최소 사례 수를 지정 합니다. 이 값을 늘려 새 규칙을 작성하기 위한 임계값을 늘립니다.

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

  9. 범주 기능에 대해 알 수 없는 값 허용: 학습 또는 유효성 검사 집합에 알 수 없는 값에 대 한 그룹을 만들려면이 옵션을 선택 합니다. 알려진 값에 대 한 모델의 정확도가 떨어질 수 있지만 새 (알 수 없는) 값에 대해 더 나은 예측을 제공할 수 있습니다.

    이 옵션의 선택을 취소 하면 모델에서 학습 데이터에 있는 값만 수락할 수 있습니다.

  10. 레이블 datset 및 학습 모듈 중 하나를 연결 합니다.

    • 담당자 모드 만들기단일 매개 변수로 설정한 경우 모델 학습 모듈을 사용 합니다.

    • 만든이 모드 옵션을 매개 변수 범위 로 설정 하는 경우 모델 hyperparameters 변수 조정 모듈을 사용 합니다. 이 옵션을 사용 하 여 강사는 여러 설정 조합을 반복 하 고 최상의 모델을 생성 하는 매개 변수 값을 결정할 수 있습니다.

    참고

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

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

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

  11. 실험을 실행합니다.

결과

학습 완료 후:

  • 각 반복에서 만들어진 트리를 보려면 모델 학습 모듈을 마우스 오른쪽 단추로 클릭 하 고 시각화 하려는 학습 된 모델 을 선택 합니다. 모델 모델링 Hyperparameters를 사용 하는 경우 모듈을 마우스 오른쪽 단추로 클릭 하 고 학습 된 최상의 모델 을 선택 하 여 최상의 모델을 시각화 합니다. 각 노드에 대 한 규칙을 보려면 각 트리를 클릭 하 여 분할을 드릴 다운 합니다.

예제

기계 학습에서 의사 결정 포리스트를 사용 하는 방법에 대 한 예는 Azure AI Gallery를 참조 하세요.

기술 정보

이 섹션에는 구현 세부 정보, 팁 및 질문과 대답 (faq)이 포함 되어 있습니다.

구현 세부 정보

분류 의사 결정 포리스트의 각 트리는 레이블의 정규화 되지 않은 빈도 히스토그램을 출력 합니다. 집계는 이러한 히스토그램의 합계를 계산 하 고 각 레이블에 대해 "확률"을 얻기 위해 정규화 하는 것입니다. 이러한 방식으로 예측 신뢰도가 높은 트리는 앙상블의 최종 결정에서 더 높은 가중치를 가집니다.

복제 옵션을 사용 하는 학습 프로세스에 대 한 자세한 내용은 다음을 참조 하세요.

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

모듈이 너무 적거나 학습 시간을 제한 하는 등의 시나리오를 수용 하기 위해 모듈이 구성 되는 방식을 변경할 수 있습니다.

제한 된 학습 시간

학습 집합에 인스턴스 수가 많은데 모델 학습에 사용할 수 있는 시간이 제한된 경우 다음 옵션을 사용하세요.

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

제한 된 학습 집합

학습 집합에 포함되는 인스턴스 수가 제한되는 경우에는 다음 옵션을 사용할 수 있습니다.

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

모듈 매개 변수

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

출력

이름 Type Description
학습되지 않은 모델 ILearner 인터페이스 학습되지 않은 다중 클래스 분류 모델입니다.

참고 항목

유형을
2 클래스 의사 결정 포리스트
의사 결정 포리스트 회귀
전체 모듈 목록