다음을 통해 공유


향상된 의사 결정 트리 회귀

중요

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

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

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

승격된 의사 결정 트리 알고리즘을 사용하여 회귀 모델 만들기

범주: Machine Learning/모델 초기화/회귀

참고

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

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

모듈 개요

이 문서에서는 Machine Learning Studio(클래식)에서 향상된 의사 결정 트리 회귀 모듈을 사용하여 부스팅을 사용하여 회귀 트리의 앙상블을 만드는 방법을 설명합니다. ‘승격’은 각 트리가 이전 트리에 종속됨을 의미합니다. 알고리즘은 선행 트리의 잔차를 맞추는 방식으로 학습합니다. 따라서 의사 결정 트리 앙상블이 승격되면 정확도는 개선되지만 적용 범위가 감소할 약간의 위험이 따릅니다.

이 회귀 방법은 지도 학습 방법이므로 ‘레이블이 지정된 데이터 세트’가 필요합니다. 레이블 열은 숫자 값을 포함해야 합니다.

참고

숫자 변수를 사용하는 데이터 집합에만 이 모듈을 사용합니다.

모델을 정의한 후 모델 학습 또는 모델하이퍼 매개 변수 튜닝 모듈을 사용하여 모델을 학습시킵니다.

만든 나무에 대해 자세히 알고 싶으신가요? 모델을 학습한 후 모델 학습 모듈(또는 모델 하이퍼 매개 변수 튜닝 모듈)의 출력을 마우스 오른쪽 단추로 클릭하고 시각화 를 선택하여 각 반복에서 만든 트리를 확인합니다. 각 트리의 분할로 드릴다운하고 각 노드에 대한 규칙을 볼 수 있습니다.

승격된 회귀 트리에 대한 자세한 정보

승격은 모음 만들기, 임의 포리스트 등과 함께 앙상블 모델을 만드는 여러 기존 방법 중 하나입니다. Machine Learning Studio(클래식)에서 향상된 의사 결정 트리는 MART 그라데이션 부스팅 알고리즘의 효율적인 구현을 사용합니다. 그라데이션 승격은 회귀 문제에 대한 기계 학습 기술입니다. 미리 정의된 손실 함수를 사용해 각 단계의 오류를 측정하고 다음 단계에서 오류를 수정하는 방식으로 각 회귀 트리를 단계별로 작성합니다. 따라서 예측 모델은 실제로는 더 약한 예측 모델의 앙상블입니다.

회귀 문제에서 승격은 일련의 트리를 단계별로 빌드한 다음, 임의의 미분 가능한 손실 함수를 사용하여 최적의 트리를 선택합니다.

자세한 내용은 다음 문서를 참조하세요.

경사 승격 방법은 분류 문제에도 사용할 수 있습니다. 이 경우에는 해당 문제를 적절한 손실 함수가 포함된 회귀로 줄입니다. 분류 작업의 승격된 트리 구현에 대한 자세한 내용은 2클래스 승격된 의사 결정 트리를 참조하세요.

승격된 의사 결정 트리 회귀를 구성하는 방법

  1. 향상된 의사 결정 트리 모듈을 실험에 추가합니다. 회귀 범주 아래의 기계 학습, 초기화에서 이 모듈을 찾을 수 있습니다.

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

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

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

  3. 트리당 최대 리프 수: 모든 트리에서 만들 수 있는 터미널 노드(리프)의 최대 수를 나타냅니다.

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

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

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

  5. 학습 속도: 학습하는 동안 단계 크기를 정의하는 0에서 1 사이의 숫자를 입력합니다. 학습 속도는 학습자가 최적 솔루션에 얼마나 빠르게 또는 느리게 수렴하는지 결정합니다. 단계 크기가 너무 크면 최적 솔루션을 초과할 수 있습니다. 단계 크기가 너무 작으면 학습이 최적 솔루션으로 수렴하는 데 걸리는 시간이 길어집니다.

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

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

  7. 난수 시드: 임의의 시드 값으로 사용할 음수가 아닌 정수(선택 사항)를 입력합니다. 시드를 지정하면 동일한 데이터와 매개 변수를 사용하는 실행에서 재현 가능성이 보장됩니다.

    임의 시드는 기본적으로 0으로 설정되며 이는 시스템 클록에서 초기 시드 값을 가져온다는 것을 의미합니다.

  8. 알 수 없는 범주 수준 허용: 학습 및 유효성 검사 집합에서 알 수 없는 값에 대한 그룹을 만들려면 이 옵션을 선택합니다. 선택을 취소하면 모델에서 학습 데이터에 포함된 값만 수락할 수 있습니다. 알려진 값에 대해서는 모델의 정확도가 떨어질 수 있지만 새 (알 수 없는) 값은 더 잘 예측할 수 있습니다.

  9. 학습 데이터 세트 및 학습 모듈 중 하나를 추가합니다.

    • 트레이너 모드 만들기 옵션을 단일 매개 변수로 설정한 경우 모델 학습 모듈을 사용합니다.

    • 트레이너 모드 만들기매개 변수 범위로 설정한 경우 모델 하이퍼 매개 변수 튜닝 모듈을 사용합니다.

    참고

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

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

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

  10. 실험을 실행합니다.

결과

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

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

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

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

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

기계 학습에서 향상된 트리를 사용하는 방법에 대한 예제는 Azure AI 갤러리를 참조하세요.

  • 수요 예측: 향상된 의사 결정 트리 회귀 를 사용하여 특정 시간에 대한 임대 수를 예측합니다.

  • Twitter 감정 분석: 회귀를 사용하여 예측 등급을 생성합니다.

기술 정보

이 섹션에는 구현 세부 정보, 팁, 자주 묻는 질문에 대한 답변이 포함되어 있습니다.

일반적으로 기능이 다소 관련되어 있는 경우 의사 결정 트리를 사용하면 더 정확한 결과를 얻을 수 있습니다. 기능의 엔트로피 수준이 높은 경우(기능이 관련되어 있지 않음) 상호 정보를 거의 또는 전혀 공유하지 않으며, 트리에서 기능의 순서를 지정해도 예측에는 그다지 중요하지 않습니다.

구현 세부 정보

각 단계에서 손실 함수의 기울기 근사치를 계산하는 회귀 트리를 계산한 다음 새 트리의 손실을 최소화하는 계수를 사용해 이전 트리에 추가하는 방식으로 트리 앙상블을 생성합니다. 지정된 인스턴스에 대해 MART에서 생성하는 앙상블의 출력은 트리 출력의 합입니다.

  • 이진 분류 문제의 경우에는 일종의 보정을 통해 출력을 확률로 변환합니다.

  • 회귀 문제의 경우에는 출력은 함수의 예측 값입니다.

  • 순위 문제의 경우 인스턴스는 앙상블의 출력 값에 따라 정렬됩니다.

모듈 매개 변수

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

출력

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

참고 항목

전체 모듈 목록
회귀