다음을 통해 공유


Microsoft 의사 결정 트리 알고리즘

적용 대상: SQL Server 2019 및 이전 Analysis Services Azure Analysis Services Fabric/Power BI Premium

중요합니다

데이터 마이닝은 SQL Server 2017 Analysis Services에서 더 이상 사용되지 않으며 이제 SQL Server 2022 Analysis Services에서 중단되었습니다. 더 이상 사용되지 않고 중단된 기능에 대한 설명서는 업데이트되지 않습니다. 자세한 내용은 Analysis Services 이전 버전과의 호환성을 참조하세요.

Microsoft 의사 결정 트리 알고리즘은 불연속 및 연속 특성의 예측 모델링에 사용할 분류 및 회귀 알고리즘입니다.

불연속 특성의 경우 알고리즘은 데이터 세트의 입력 열 간의 관계를 기반으로 예측을 만듭니다. 이는 상태로 알려진 값들을 사용하여 예측 가능한 것으로 지정한 열의 상태를 예측합니다. 특히 알고리즘은 예측 가능한 열과 상관 관계가 있는 입력 열을 식별합니다. 예를 들어, 자전거를 구매할 가능성이 있는 고객을 예측하는 시나리오에서 젊은 고객 10명 중 9명이 자전거를 구입하지만, 10명의 이전 고객 중 2명만이 자전거를 구매할 경우 알고리즘은 연령이 자전거 구매의 좋은 예측 변수라고 추론합니다. 의사 결정 트리는 특정 결과에 대한 이러한 경향을 기반으로 예측을 수행합니다.

연속 특성의 경우 알고리즘은 선형 회귀를 사용하여 의사 결정 트리가 분할되는 위치를 결정합니다.

둘 이상의 열이 예측 가능으로 설정되었거나 입력 데이터에 예측 가능으로 설정된 중첩 테이블이 포함된 경우 알고리즘은 예측 가능한 각 열에 대해 별도의 의사 결정 트리를 작성합니다.

예시

Adventure Works Cycles 회사의 마케팅 부서는 해당 고객이 향후 제품을 구매할 가능성이 있는지 여부를 나타낼 수 있는 이전 고객의 특성을 식별하려고 합니다. AdventureWorks2012 데이터베이스는 이전 고객을 설명하는 인구 통계 정보를 저장합니다. 마케팅 부서는 Microsoft 의사 결정 트리 알고리즘을 사용하여 이 정보를 분석하여 특정 고객이 해당 고객에 대한 알려진 열 상태(예: 인구 통계 또는 과거 구매 패턴)를 기반으로 제품을 구매할지 여부를 예측하는 모델을 빌드할 수 있습니다.

알고리즘 작동 방식

Microsoft 의사 결정 트리 알고리즘은 트리에 일련의 분할을 만들어 데이터 마이닝 모델을 빌드합니다. 이러한 분할은 노드로 표시됩니다. 이 알고리즘은 입력 열이 예측 가능한 열과 상당한 상관 관계가 있는 것으로 확인될 때마다 모델에 노드를 추가합니다. 알고리즘이 분할을 결정하는 방식은 연속 열 또는 불연속 열을 예측하는지에 따라 다릅니다.

Microsoft 의사 결정 트리 알고리즘은 기능 선택을 사용하여 가장 유용한 특성의 선택을 안내합니다. 기능 선택은 모든 SQL Server 데이터 마이닝 알고리즘에서 성능 및 분석 품질을 향상시키는 데 사용됩니다. 기능 선택은 중요하지 않은 특성이 프로세서 시간을 사용하지 못하도록 하는 데 중요합니다. 데이터 마이닝 모델을 디자인할 때 입력 또는 예측 가능한 특성을 너무 많이 사용하는 경우 모델은 처리하는 데 매우 오랜 시간이 걸리거나 메모리가 부족할 수 있습니다. 트리를 분할할지 여부를 결정하는 데 사용되는 메서드에는 엔트로피 및 Bayesian 네트워크*에 대한 업계 표준 메트릭이 포함됩니다.* 의미 있는 특성을 선택한 다음 특성의 점수를 매기고 순위를 매기는 데 사용되는 메서드에 대한 자세한 내용은 기능 선택(데이터 마이닝)을 참조하세요.

데이터 마이닝 모델의 일반적인 문제는 모델이 학습 데이터의 작은 차이에 너무 민감해져서 과잉 맞춤 되거나 과도하게 학습되었다고 하는 것입니다. 과잉 맞춤된 모델은 다른 데이터 집합으로 일반화할 수 없습니다. 특정 데이터 집합에 대한 과잉 맞춤을 방지하기 위해 Microsoft 의사 결정 트리 알고리즘은 트리의 증가를 제어하는 기술을 사용합니다. Microsoft 의사 결정 트리 알고리즘의 작동 방식에 대한 자세한 설명은 Microsoft 의사 결정 트리 알고리즘 기술 참조를 참조하세요.

이산 열 예측

Microsoft 의사 결정 트리 알고리즘이 불연속 예측 가능한 열에 대한 트리를 빌드하는 방법은 히스토그램을 사용하여 확인할 수 있습니다. 다음 다이어그램은 예측에 사용되는 열인 Bike Buyers를 입력 열 Age와 비교하여 히스토그램으로 표시합니다. 히스토그램은 사람의 나이가 그 사람이 자전거를 구입할지 여부를 구별하는 데 도움이 된다는 것을 보여줍니다.

Microsoft 의사 결정 트리 알고리즘의 히스토그램

다이어그램에 표시된 상관 관계로 인해 Microsoft 의사 결정 트리 알고리즘이 모델에 새 노드를 만듭니다.

의사 결정 트리 노드

알고리즘이 모델에 새 노드를 추가하면 트리 구조가 형성됩니다. 트리의 최상위 노드는 전체 고객 모집단에 대한 예측 가능한 열의 분류를 설명합니다. 모델이 계속 증가함에 따라 알고리즘은 모든 열을 고려합니다.

연속 데이터 열 예측

Microsoft 의사 결정 트리 알고리즘이 예측 가능한 연속 열을 기반으로 트리를 빌드하는 경우 각 노드에는 회귀 수식이 포함됩니다. 회귀 수식의 비선형 지점에서 분할이 발생합니다. 예를 들어 다음 다이어그램을 고려해 보세요.

비선형성을 보여 주는 여러 회귀선

표준 회귀 모델에서는 데이터 전체의 추세와 관계를 나타내는 단일 수식을 파생하려고 합니다. 그러나 단일 수식은 복잡한 데이터에서 불연속성을 캡처하는 작업을 제대로 수행하지 못할 수 있습니다. 대신 Microsoft 의사 결정 트리 알고리즘은 주로 선형인 트리의 세그먼트를 찾고 이러한 세그먼트에 대해 별도의 수식을 만듭니다. 데이터를 다른 세그먼트로 분할하면 모델은 데이터를 훨씬 더 효율적으로 근사화할 수 있습니다.

다음 다이어그램은 위의 산점도에서 모델의 트리 다이어그램을 나타냅니다. 결과를 예측하기 위해 모델은 두 가지 수식을 제공합니다. 하나는 왼쪽 분기용이고, 수식은 y = .5x x 5이고, 오른쪽 분기에는 1개, 수식은 .25x + 8.75입니다. 산점도에서 두 줄이 함께 모이는 지점은 비선형성 지점이며 의사 결정 트리 모델의 노드가 분할되는 지점입니다.

비선형성을 나타내는 수식

이 모델은 두 개의 선형 수식만 있는 간단한 모델입니다. 따라서 트리의 분할은 모두 노드 바로 뒤입니다. 그러나 트리의 모든 수준에서 분할이 발생할 수 있습니다. 즉, 여러 수준 및 노드가 포함된 트리에서 각 노드에 다른 특성 컬렉션이 있는 경우 수식이 여러 노드에서 공유되거나 단일 노드에만 적용될 수 있습니다. 예를 들어 "특정 연령 및 소득에 따른 고객"으로 정의된 노드에 대한 수식 하나와 "장거리 통근 고객"을 나타내는 노드에 대한 수식을 가져올 수 있습니다. 개별 노드 또는 세그먼트에 대한 수식을 보려면 노드를 클릭하기만 하면 됩니다.

의사 결정 트리 모델에 필요한 데이터

의사 결정 트리 모델에서 사용할 데이터를 준비할 때 필요한 데이터 양과 데이터 사용 방법을 포함하여 특정 알고리즘에 대한 요구 사항을 이해해야 합니다.

의사 결정 트리 모델에 대한 요구 사항은 다음과 같습니다.

  • 단일 키 열 각 모델에는 각 레코드를 고유하게 식별하는 하나의 숫자 또는 텍스트 열이 포함되어야 합니다. 복합 키는 허용되지 않습니다.

  • 예측 가능한 열 하나 이상의 예측 가능한 열이 필요합니다. 모델에 여러 개의 예측 가능한 특성을 포함할 수 있으며 예측 가능한 특성은 숫자 또는 불연속 형식으로 다를 수 있습니다. 그러나 예측 가능한 특성의 수를 늘리면 처리 시간이 늘어나게 됩니다.

  • 입력 열 불연속 또는 연속적일 수 있는 입력 열이 필요합니다. 입력 특성 수를 늘리면 처리 시간에 영향을 줍니다.

의사 결정 트리 모델에 지원되는 콘텐츠 형식 및 데이터 형식에 대한 자세한 내용은 Microsoft 의사 결정 트리 알고리즘 기술 참조의 요구 사항 섹션을 참조하세요.

의사 결정 트리 모델 보기

모델을 탐색하려면 Microsoft 트리 뷰어를 사용할 수 있습니다. 모델이 여러 트리를 생성하는 경우 트리를 선택할 수 있으며 뷰어는 예측 가능한 각 특성에 대해 사례를 분류하는 방법에 대한 분석을 보여 줍니다. 종속성 네트워크 뷰어를 사용하여 트리의 상호 작용을 볼 수도 있습니다. 자세한 내용은 Microsoft 트리 뷰어를 사용하여 모델 찾아보기를 참조하세요.

트리의 모든 분기 또는 노드에 대해 자세히 알아보려면 Microsoft 일반 콘텐츠 트리 뷰어를 사용하여 모델을 찾아볼 수도 있습니다. 모델에 대해 저장된 콘텐츠에는 각 노드의 모든 값에 대한 분포, 트리의 각 수준에서의 확률 및 연속 특성에 대한 회귀 수식이 포함됩니다. 자세한 내용은 의사 결정 트리 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.

예측 만들기

모델이 처리된 후 결과는 관계를 탐색하거나 예측을 만드는 데 사용할 수 있는 패턴 및 통계 집합으로 저장됩니다.

의사 결정 트리 모델과 함께 사용할 쿼리의 예는 의사 결정 트리 모델 쿼리 예제를 참조하세요.

마이닝 모델에 대한 쿼리를 만드는 방법에 대한 일반적인 내용은 데이터 마이닝 쿼리를 참조하세요.

비고

  • PMML(예측 모델 태그 언어)을 사용하여 마이닝 모델을 만들도록 지원합니다.

  • 드릴스루를 지원합니다.

  • OLAP 마이닝 모델 사용 및 데이터 마이닝 차원 생성을 지원합니다.

또한 참조하십시오

데이터 마이닝 알고리즘(Analysis Services - 데이터 마이닝)
Microsoft 의사 결정 트리 알고리즘 기술 참조
의사 결정 트리 모델 쿼리 예제
의사 결정 트리 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)