2클래스 향상된 의사 결정 트리
중요
Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.
2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.
- ML Studio(클래식)에서 Azure Machine Learning으로 기계 학습 프로젝트 이동에 대한 정보를 참조하세요.
- Azure Machine Learning에 대한 자세한 정보.
ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.
승격된 의사 결정 트리 알고리즘을 사용하여 이진 분류자 만들기
범주: Machine Learning/모델 초기화/분류
모듈 개요
이 문서에서는 Machine Learning Studio(클래식)의 2클래스 향상된 의사 결정 트리 모듈을 사용하여 향상된 의사 결정 트리 알고리즘을 기반으로 하는 기계 학습 모델을 만드는 방법을 설명합니다.
승격된 의사 결정 트리는 두 번째 트리가 첫 번째 트리의 오류를 소정하고, 세 번째 트리가 첫 번째 및 두 번째 트리의 오류를 수정하는 방식의 앙상블 학습 방법입니다. 예측은 전체 트리의 앙상블을 기반으로 하여 예측을 수행합니다. 자세한 기술 정보는 이 문서의 연구 섹션을 참조하세요.
일반적으로 적절히 구성된 경우 승격된 의사 결정 트리는 다양한 기계 학습 작업에서 최상의 성능을 얻을 수 있는 가장 쉬운 방법입니다. 그러나 승격된 의사 결정 트리는 메모리를 많이 사용하는 학습자 중 하나이며 현재 구현에는 메모리의 모든 항목이 포함됩니다. 따라서 향상된 의사 결정 트리 모델은 일부 선형 학습자가 처리할 수 있는 매우 큰 데이터 세트를 처리하지 못할 수 있습니다.
Two-Class 향상된 의사 결정 트리를 구성하는 방법
이 모듈은 학습되지 않은 분류 모델을 만듭니다. 분류는 지도 학습 방법이므로 모델을 학습시키려면 모든 행 값이 있는 레이블 열을 포함하는 ‘태그가 지정된 데이터 세트’가 필요합니다.
모델 학습 또는 모델 하이퍼 매개 변수 조정 모듈을 사용하여 이러한 유형의 모델을 학습시킬 수 있습니다.
Machine Learning Studio(클래식)에서 향상된 의사 결정 트리 모듈을 실험에 추가합니다.
트레이너 모드 만들기 옵션을 설정하여 모델을 학습시키려는 방법을 지정합니다.
단일 매개 변수: 모델을 어떻게 구성하려는지 아는 경우 특정 값 집합을 인수로 제공할 수 있습니다.
매개 변수 범위: 최적의 매개 변수가 확실하지 않은 경우 모델 하이퍼 매개 변수 조정 모듈을 사용하여 최적의 매개 변수를 찾을 수 있습니다. 사용자는 특정 범위의 값을 제공하고 트레이너는 여러 설정 조합을 반복하여 최상의 결과를 생성하는 값의 조합을 결정합니다.
트리당 최대 리프 수의 경우 모든 트리에서 만들 수 있는 터미널 노드(리프)의 최대 수를 나타냅니다.
이 값을 늘리면 트리 크기가 커지고 정밀도는 높아질 수 있지만 학습 시간이 더 길어지고 과잉 맞춤이 발생할 수 있습니다.
리프 노드당 최소 샘플 수의 경우 트리에서 터미널 노드(리프)를 만드는 데 필요한 사례 수를 나타냅니다.
이 값을 늘려 새 규칙을 작성하기 위한 임계값을 늘립니다. 예를 들어, 기본값이 1이면 단일 사례만으로도 새 규칙을 하나 작성할 수 있습니다. 값을 5로 늘리면 학습 데이터에 동일한 조건을 만족하는 사례가 다섯 개 이상 있어야 합니다.
학습 속도의 경우 학습하는 동안 단계 크기를 정의하는 0에서 1 사이의 숫자를 입력합니다.
학습 속도는 학습자가 최적 솔루션에 얼마나 빠르게 또는 느리게 수렴하는지 결정합니다. 단계 크기가 너무 크면 최적 솔루션을 초과할 수 있습니다. 단계 크기가 너무 작으면 학습이 최적 솔루션으로 수렴하는 데 걸리는 시간이 길어집니다.
생성되는 트리 수의 경우 앙상블에 만들 의사 결정 트리의 총수를 나타냅니다. 추가 의사 결정 트리를 만들면 적용 범위가 확대될 수 있지만 학습 시간이 증가됩니다.
또한 이 값은 학습된 모델을 시각화할 때 표시되는 트리 수를 제어합니다. 단일 트리를 보거나 인쇄하려면 값을 1로 설정합니다. 그러나 이렇게 하면 하나의 트리만 생성되고(초기 매개 변수 집합이 있는 트리) 추가 반복이 수행되지 않습니다.
난수 시드의 경우 임의 시드 값으로 사용할 음수가 아닌 정수를 선택적으로 입력합니다. 시드를 지정하면 동일한 데이터와 매개 변수를 사용하는 실행에서 재현 가능성이 보장됩니다.
임의 시드는 기본적으로 0으로 설정되며 이는 시스템 클록에서 초기 시드 값을 가져온다는 것을 의미합니다. 임의 시드를 사용한 연속 실행의 결과는 달라질 수 있습니다.
알 수 없는 범주 수준 허용 옵션을 선택하여 학습 및 유효성 검사 집합에서 알 수 없는 값에 대한 그룹을 만듭니다.
선택을 취소하면 모델에서 학습 데이터에 포함된 값만 수락할 수 있습니다.
알 수 없는 값을 허용하는 경우 모델은 알려진 값에 대해 정확도가 낮을 수 있지만 새(알 수 없는) 값에 대해 더 나은 예측을 제공할 수 있습니다.
모델을 학습시킵니다.
트레이너 모드 만들기를 단일 매개 변수로 설정한 경우 태그가 지정된 데이터 세트 및 모델 학습 모듈을 연결합니다.
트레이너 모드 만들기를 매개 변수 범위로 설정하는 경우 태그가 지정된 데이터 세트를 연결하고 모델 하이퍼 매개 변수 조정을 사용하여 모델을 학습시킵니다.
참고
모델 학습에 매개 변수 범위를 전달하면 매개 변수 범위 목록의 첫 번째 값만 사용됩니다.
단일 매개 변수 값 집합을 모델 하이퍼 매개 변수 조정 모듈에 전달하는 경우 각 매개 변수에 대한 설정 범위를 요청할 때 해당 값을 무시하고 학습자에 대한 기본값을 사용합니다.
매개 변수 범위 옵션을 선택하고 임의 매개 변수의 단일 값을 입력하는 경우 다른 매개 변수가 값 범위에서 변경되더라도 지정한 단일 값은 스윕 전체에서 사용됩니다.
결과
학습 완료 후 다음이 수행됩니다.
각 반복에서 만든 트리를 보려면 모델 학습 모듈을 마우스 오른쪽 단추로 클릭하고 시각화할 학습된 모델을 선택합니다. 모델 하이퍼 매개 변수 조정을 사용하는 경우 모듈을 마우스 오른쪽 단추로 클릭하고 학습된 최상의 모델을 선택하여 최상의 모델을 시각화합니다.
각 트리를 클릭하여 분할로 드릴다운하고 각 노드에 대한 규칙을 확인합니다.
점수 매기기를 위해 모델을 사용하려면 모델을 점수 매기기 모델에 연결하여 새 입력 예제의 값을 예측합니다.
예
기계 학습에서 향상된 의사 결정 트리를 사용하는 방법의 예는 Azure AI 갤러리를 참조하세요.
직접 마케팅: 2클래스 향상된 의사 결정 트리 알고리즘을 사용하여 고객 애착을 예측합니다.
비행 지연 예측: 이 샘플은 2클래스 향상된 의사 결정 트리 알고리즘을 사용하여 비행이 지연될 가능성이 있는지 여부를 결정합니다.
신용 카드 위험: 이 샘플에서는 2클래스 향상된 의사 결정 트리 알고리즘을 사용하여 위험을 예측합니다.
기술 정보
이 섹션에는 구현 세부 정보 및 질문과 대답이 포함되어 있습니다.
사용 팁
향상된 의사 결정 트리 모델을 학습하려면 여러 데이터 인스턴스를 제공해야 합니다. 데이터 세트에 행이 너무 적으면 학습 프로세스 중에 오류가 생성됩니다.
데이터에 누락된 값이 있는 경우 기능에 대한 표시기를 추가해야 합니다.
일반적으로 기능이 다소 관련되어 있는 경우 승격된 의사 결정 트리를 사용하면 더 정확한 결과를 얻을 수 있습니다. 기능의 엔트로피가 많은 경우(즉, 관련되지 않음) 상호 정보를 거의 또는 전혀 공유하지 않으며 트리에서 순서를 지정해도 많은 예측 중요성을 얻을 수 없습니다. 그렇지 않은 경우 임의 포리스트 모델을 시도할 수 있습니다.
모델이 과잉 맞춤되기 쉽기 때문에 기능보다 더 많은 예제가 있는 경우에도 부스팅이 잘 작동합니다.
데이터 세트를 정규화하지 마세요. 기능 처리는 단순, 비 파라메트릭, 비교보다 작거나 크거나 같기 때문에 정규화 또는 어떤 형태의 비 단조 변환 함수도 거의 영향을 주지 않을 수 있습니다.
기능은 학습 전에 불연속화되고 범주화되므로 연속 기능의 경우에도 상대적으로 작은 임계값 후보 집합이 고려됩니다.
구현 세부 정보
향상된 의사 결정 트리 알고리즘에 대한 자세한 내용은 Greedy 함수 근사값: 그라데이션 부스팅 머신을 참조하세요.
Machine Learning 향상된 의사 결정 트리 알고리즘은 다음과 같은 증폭 방법을 사용합니다.
약한 학습자의 빈 앙상블에서 시작합니다.
각 학습 예제에 대해 앙상블의 현재 출력을 가져옵니다. 앙상블에 있는 모든 약한 학습자의 출력 합계입니다.
각 예제에 대한 손실 함수의 그라데이션을 계산합니다.
이 작업은 이진 분류 문제인지 아니면 회귀 문제인지에 따라 달라집니다.
이진 분류 모델에서는 로지스틱 회귀 분석과 비슷한 로그 손실을 사용합니다.
회귀 모델에서는 제곱 손실이 사용되며 기울기는 현재 출력에서 대상을 뺀 값입니다.
대상 함수로 정의된 그라데이션을 사용하여 약한 학습자를 맞추려면 예제를 사용합니다.
이 약한 학습자를 학습 속도가 나타내는 강도를 가진 앙상블에 추가하고 원하는 경우 2단계로 이동합니다.
이 구현에서 약한 학습자는 3단계에서 계산된 그라데이션을 기반으로 최소 제곱 회귀 트리입니다. 트리에는 다음과 같은 제한이 적용됩니다.
트리는 최대 리프 수까지 학습됩니다.
과잉 맞춤을 방지하기 위해 각 리프에는 최소한의 예제가 있습니다.
각 의사 결정 노드는 특정 임계값과 비교되는 단일 기능입니다. 해당 기능이 임계값보다 작거나 같으면 한 경로의 아래로 이동하고 임계값보다 크면 다른 경로의 아래로 이동합니다.
각 리프 노드는 상수 값입니다.
트리 작성 알고리즘은 3단계에서 계산된 그라데이션과 관련하여 분할이 제곱 손실을 최소화하는 기능 및 임계값을 욕심적으로 선택합니다. 분할을 선택하면 리프당 최소 학습 예제 수가 적용됩니다.
알고리즘은 최대 리프 수에 도달할 때까지 또는 유효한 분할을 사용할 수 없을 때까지 반복적으로 분할됩니다.
모듈 매개 변수
Name | 범위 | Type | 기본값 | 설명 |
---|---|---|---|---|
트리당 최대 리프 수 | >=1 | 정수 | 20 | 트리당 허용되는 리프의 최대 수를 지정합니다. |
리프 노드당 최소 샘플 수 | >=1 | 정수 | 10 | 리프를 구성하는 데 필요한 최대 사례 수를 지정합니다. |
학습 속도 | [double.Epsilon;1.0] | Float | 0.2 | 초기 학습 속도를 지정합니다. |
생성되는 트리의 수 | >=1 | 정수 | 100 | 학습 중에 만들 수 있는 최대 트리 수를 지정합니다. |
난수 초기값 | 모두 | 정수 | 모델에서 사용하는 난수 생성기의 초기값으로 사용할 값을 입력합니다. 기본값을 사용하려면 비워 둡니다. | |
알 수 없는 범주 수준 허용 | 모두 | 부울 | True | True로 설정하면 추가 수준이 각 범주 열에 대해 만들어집니다. 학습 데이터 집합에서 사용할 수 없는 테스트 데이터 집합의 모든 수준은 이 추가 수준으로 매핑됩니다. |
출력
Name | 유형 | 설명 |
---|---|---|
학습되지 않은 모델 | ILearner 인터페이스 | 학습되지 않은 이진 분류 모델입니다. |