2클래스 향상된 의사 결정 트리

승격된 의사 결정 트리 알고리즘을 사용하여 이진 분류자 만들기

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

참고

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

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

모듈 개요

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

승격 된 의사 결정 트리는 두 번째 트리가 첫 번째 트리의 오류를 수정 하 고, 세 번째 트리가 첫 번째 및 두 번째 트리의 오류를 수정 하는 등의 앙상블 학습 방법입니다. 예측은 전체 트리의 앙상블을 기반으로 하 여 예측을 수행 합니다. 자세한 기술 정보는이 문서의 연구 섹션을 참조 하세요.

일반적으로 적절히 구성 된 경우 승격 된 의사 결정 트리는 다양 한 기계 학습 작업에서 최상의 성능을 얻을 수 있는 가장 쉬운 방법입니다. 그러나 메모리를 많이 사용 하는 많은 학습자 중 하나 이며 현재 구현에는 메모리의 모든 항목이 포함 됩니다. 따라서 승격 된 의사 결정 트리 모델은 일부 선형 학습자가 처리할 수 있는 매우 큰 데이터 집합을 처리 하지 못할 수 있습니다.

알고리즘을 선택 하는 방법에 대 한 자세한 내용은 다음 리소스를 참조 하세요.

Two-Class 승격 된 의사 결정 트리를 구성 하는 방법

이 모듈은 학습 되지 않은 분류 모델을 만듭니다. 분류는 감독 된 학습 방법 이므로 모델을 학습 하려면 모든 행에 대 한 값이 있는 레이블 열을 포함 하는 태그가 지정 된 데이터 집합이 필요 합니다.

모델 학습 또는 모델 하이퍼 매개 변수 조정 모듈을 사용 하 여 이러한 유형의 모델을 학습할 수 있습니다.

  1. Azure Machine Learning Studio (클래식)에서 향상 된 의사 결정 트리 모듈을 실험에 추가 합니다.

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

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

    • 매개 변수 범위: 가장 적합 한 매개 변수를 잘 모르는 경우 Model hyperparameters 조정 모듈을 사용 하 여 최적의 매개 변수를 찾을 수 있습니다. 특정 범위의 값을 제공 하 고, 강사는 여러 설정 조합을 반복 하 여 최상의 결과를 생성 하는 값의 조합을 결정 합니다.

  3. 트리 당 최대 리프 수 에 대해 모든 트리에서 만들 수 있는 최대 터미널 노드 (리프) 수를 지정 합니다.

    이 값을 늘리면 트리 크기가 커지고 정밀도는 높아질 수 있지만 학습 시간이 더 길어지고 과잉 맞춤이 발생할 수 있습니다.

  4. 리프 노드당 최소 샘플 수 는 트리에서 터미널 노드 (리프)를 만드는 데 필요한 사례 수를 지정 합니다.

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

  5. 학습 에 대해 학습 하는 동안 단계 크기를 정의 하는 0에서 1 사이의 숫자를 입력 합니다.

    학습 속도는 최적의 솔루션에 대 한 학습자 수렴의 속도 또는 속도를 결정 합니다. 단계 크기가 너무 큰 경우 최적의 솔루션을 과도 하 게 사용할 수 있습니다. 단계 크기가 너무 작은 경우 학습은 최상의 솔루션에서 수렴 하는 데 더 오래 걸립니다.

  6. 생성 되는 트리 수 에 대해 앙상블에서 만들 의사 결정 트리의 총 수를 지정 합니다. 추가 의사 결정 트리를 만들면 적용 범위가 확대될 수 있지만 학습 시간이 증가됩니다.

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

  7. 난수 초기값 의 경우 필요에 따라 임의의 초기값으로 사용할 음수가 아닌 정수를 입력 합니다. 초기값을 지정 하면 동일한 데이터 및 매개 변수가 있는 실행에 대해 재현 가능성 됩니다.

    임의 초기값은 기본적으로 0으로 설정 됩니다. 즉, 시스템 클록에서 초기 초기값을 가져옵니다. 임의 초기값을 사용 하 여 연속 실행은 다른 결과를 가질 수 있습니다.

  8. 학습 및 유효성 검사 집합에 알 수 없는 값에 대 한 그룹을 만들려면 알 수 없는 범주 수준 허용 옵션을 선택 합니다.

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

    알 수 없는 값을 허용 하는 경우 알려진 값에 대 한 모델의 정확도가 떨어질 수 있지만 새 (알 수 없는) 값에 대해 더 나은 예측을 제공할 수 있습니다.

  9. 모델을 학습시킵니다.

    • 담당자 모드 만들기단일 매개 변수로 설정한 경우 태그가 지정 된 데이터 집합 및 모델 학습 모듈을 연결 합니다.

    • 만든이 모드매개 변수 범위 로 설정 하는 경우에는 태그가 지정 된 데이터 집합을 연결 하 고 모델 모델링 hyperparameters를 사용 하 여 모델을 학습 합니다.

    참고

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

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

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

결과

학습 완료 후:

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

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

  • 모델을 점수 매기기에 사용 하려면 점수 모델에 연결 하 여 새 입력 예제에 대 한 값을 예측 합니다.

예제

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

  • 직접 마케팅: 2 클래스 승격 된 의사 결정 트리 알고리즘을 사용 하 여 고객 욕구를 예측 합니다.

  • 비행 지연 예측:이 샘플에서는 2 클래스 승격 된 의사 결정 트리 알고리즘을 사용 하 여 항공편이 지연 될 가능성이 있는지 여부를 확인 합니다.

  • 신용 카드 위험:이 샘플에서는 2 클래스 승격 된 의사 결정 트리 알고리즘을 사용 하 여 위험을 예측 합니다.

기술 정보

이 섹션에서는 구현 세부 정보 및 질문과 대답을 포함 합니다.

사용 팁

  • 승격 된 의사 결정 트리 모델을 학습 하려면 여러 데이터 인스턴스를 제공 해야 합니다. 데이터 집합에 행이 너무 적게 포함 되어 있으면 학습 프로세스 중에 오류가 발생 합니다.

  • 데이터에 누락 된 값이 있는 경우 해당 기능에 대 한 표시기를 추가 해야 합니다.

  • 일반적으로 기능이 다소 관련되어 있는 경우 승격된 의사 결정 트리를 사용하면 더 정확한 결과를 얻을 수 있습니다. 기능에 높은 수준의 엔트로피가 있는 경우 (즉, 관련 되지 않음) 상호 정보를 거의 또는 전혀 공유 하지 않으며 트리에서 순서를 지정 하는 것은 예측 의미가 많지 않습니다. 그렇지 않으면 임의의 포리스트 모델을 사용해 볼 수 있습니다.

    또한 모델은 과잉 맞춤 가능성이 높으며 기능 보다 더 많은 예제가 있는 경우에도 원활 하 게 작동 합니다.

  • 데이터 집합을 정규화 하지 마십시오. 기능의 처리는 간단 하 고 비 패라메트릭, 보다 작음 또는 보다 큼 비교 이기 때문에 정규화 또는 모든 형식의 비-단조 변환 함수는 거의 영향을 주지 않을 수 있습니다.

  • 기능은 학습 전에 불연속화되고 범주화되므로 연속 기능의 경우에도 상대적으로 작은 임계값 후보 집합이 고려됩니다.

구현 세부 정보

승격 된 의사 결정 트리 알고리즘에 대 한 자세한 내용은 Greedy 함수 근사값: 그라데이션 상승 컴퓨터를 참조 하세요.

Azure Machine Learning의 승격 된 의사 결정 트리 알고리즘은 다음과 같은 부스트 방법을 사용 합니다.

  1. 약한 학습자의 빈 앙상블에서 시작합니다.

  2. 각 학습 예제에 대해 앙상블의 현재 출력을 가져옵니다. 앙상블에 있는 모든 약한 학습자의 출력 합계입니다.

  3. 각 예제에 대 한 손실 함수의 그라데이션을 계산 합니다.

    이는 태스크가 이진 분류 문제 인지 또는 회귀 문제 인지에 따라 달라 집니다.

    • 이진 분류 모델에서는 로지스틱 회귀 분석과 비슷한 로그 손실을 사용합니다.

    • 회귀 모델에서는 제곱 손실이 사용되며 기울기는 현재 출력에서 대상을 뺀 값입니다.

  4. 예를 사용 하 여 대상 함수로 정의한 그라데이션을 사용 하 여 약한 학습자 에 맞춥니다.

  5. 이 약한 학습자를 학습 속도가 나타내는 강도를 가진 앙상블에 추가하고 원하는 경우 2단계로 이동합니다.

    이 구현에서 weak 학습자는 3 단계에서 계산 된 그라데이션을 기반으로 하는 최소 제곱 회귀 트리입니다. 트리에는 다음과 같은 제한이 적용됩니다.

    • 트리는 최대 리프 수까지 학습됩니다.

    • 과잉 맞춤을 방지하기 위해 각 리프에는 최소한의 예제가 있습니다.

    • 각 의사 결정 노드는 특정 임계값과 비교되는 단일 기능입니다. 해당 기능이 임계값보다 작거나 같으면 한 경로의 아래로 이동하고 임계값보다 크면 다른 경로의 아래로 이동합니다.

    • 각 리프 노드는 상수 값입니다.

  6. 트리 빌딩 알고리즘 적극적은 3 단계에서 계산 된 그라데이션과 관련 하 여 제곱 손실을 최소화 하는 기능 및 임계값을 선택 합니다. 분할 선택은 리프 당 최소한의 학습 예를 따릅니다.

    알고리즘은 최대 리프 수에 도달할 때까지 또는 유효한 분할을 사용할 수 없을 때까지 반복 해 서 분할 됩니다.

모듈 매개 변수

이름 범위 Type 기본값 Description
트리당 최대 리프 수 >= 1 Integer 20 트리당 허용되는 리프의 최대 수를 지정합니다.
리프 노드당 최소 샘플 수 >= 1 정수 10 리프를 구성하는 데 필요한 최대 사례 수를 지정합니다.
학습 속도 [double.Epsilon;1.0] Float 0.2 초기 학습 속도를 지정합니다.
생성되는 트리의 수 >= 1 Integer 100 학습 중에 만들 수 있는 최대 트리 수를 지정합니다.
난수 초기값 모두 Integer 모델에서 사용하는 난수 생성기의 초기값으로 사용할 값을 입력합니다. 기본값을 사용하려면 비워 둡니다.
알 수 없는 범주 수준 허용 모두 부울 True True로 설정하면 추가 수준이 각 범주 열에 대해 만들어집니다. 학습 데이터 집합에서 사용할 수 없는 테스트 데이터 집합의 모든 수준은 이 추가 수준으로 매핑됩니다.

출력

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

참고 항목

유형을
승격 된 의사 결정 트리 회귀
전체 모듈 목록