Microsoft 의사 결정 트리 알고리즘Microsoft Decision Trees Algorithm

MicrosoftMicrosoft 의사 결정 트리 알고리즘은 불연속 특성 및 연속 특성 모두의 예측 모델링에 사용하기 위해 분류 및 회귀 알고리즘입니다.The MicrosoftMicrosoft Decision Trees algorithm is a classification and regression algorithm for use in predictive modeling of both discrete and continuous attributes.

불연속 특성의 경우 알고리즘은 데이터 집합 내 입력 열 간의 관계를 기반으로 예측합니다.For discrete attributes, the algorithm makes predictions based on the relationships between input columns in a dataset. 이 알고리즘은 해당 열의 값인 상태를 사용하여 사용자가 예측 가능으로 지정하는 열의 상태를 예측합니다.It uses the values, known as states, of those columns to predict the states of a column that you designate as predictable. 특히 알고리즘은 예측 가능한 열과 상관 관계에 있는 입력 열을 식별합니다.Specifically, the algorithm identifies the input columns that are correlated with the predictable column. 예를 들어 자전거를 구입할 가능성이 높은 고객을 예측하는 시나리오에서 청년층 고객의 경우 10명 중 9명이 자전거를 구입한 반면 중장년층 고객의 경우 10명 중 2명만이 자전거를 구입했다면 알고리즘은 자전거 구입에 있어 연령이 좋은 지표가 될 수 있음을 유추합니다.For example, in a scenario to predict which customers are likely to purchase a bicycle, if nine out of ten younger customers buy a bicycle, but only two out of ten older customers do so, the algorithm infers that age is a good predictor of bicycle purchase. 의사 결정 트리에서는 이러한 경향을 기반으로 특정 결과를 예측합니다.The decision tree makes predictions based on this tendency toward a particular outcome.

연속 특성의 경우 알고리즘은 선형 회귀를 사용하여 의사 결정 트리의 분할 위치를 결정합니다.For continuous attributes, the algorithm uses linear regression to determine where a decision tree splits.

둘 이상의 열을 예측 가능으로 설정한 경우 또는 입력 데이터에 예측 가능으로 설정된 중첩 테이블이 포함된 경우 알고리즘은 각 예측 가능한 열에 대해 별도의 의사 결정 트리를 작성합니다.If more than one column is set to predictable, or if the input data contains a nested table that is set to predictable, the algorithm builds a separate decision tree for each predictable column

예제Example

Adventure Works CyclesAdventure Works Cycles 사의 마케팅 부서에서는 이전 고객이 향후에 제품을 구입할지 여부를 나타낼 수 있는 고객 특징을 식별하려고 합니다.The marketing department of the Adventure Works CyclesAdventure Works Cycles company wants to identify the characteristics of previous customers that might indicate whether those customers are likely to buy a product in the future. AdventureWorks2012AdventureWorks2012 데이터베이스는 이전 고객에 대한 인구 통계 정보를 저장합니다.The AdventureWorks2012AdventureWorks2012 database stores demographic information that describes previous customers. MicrosoftMicrosoft 의사 결정 트리 알고리즘을 사용하여 이러한 정보를 분석하면 마케팅 부서에서는 인구 통계적 패턴 및 과거 구매 패턴과 같이 해당 고객에 대해 알려진 열의 상태를 기반으로 특정 고객의 제품 구매 여부를 예측하는 모델을 작성할 수 있습니다.By using the MicrosoftMicrosoft Decision Trees algorithm to analyze this information, the marketing department can build a model that predicts whether a particular customer will purchase products, based on the states of known columns about that customer, such as demographics or past buying patterns.

알고리즘 작동 방법How the Algorithm Works

MicrosoftMicrosoft 의사 결정 트리 알고리즘은 트리에 분할 집합을 만들어 데이터 마이닝 모델을 작성합니다.The MicrosoftMicrosoft Decision Trees algorithm builds a data mining model by creating a series of splits in the tree. 이러한 분할은 노드로 표시됩니다.These splits are represented as nodes. 이 알고리즘은 예측 가능한 열과 깊은 상관 관계에 있는 입력 열을 발견할 때마다 모델에 노드를 추가합니다.The algorithm adds a node to the model every time that an input column is found to be significantly correlated with the predictable column. 알고리즘이 분할을 결정하는 방법은 예측하는 열이 연속 열인지, 아니면 불연속 열인지에 따라 달라집니다.The way that the algorithm determines a split is different depending on whether it is predicting a continuous column or a discrete column.

MicrosoftMicrosoft 의사 결정 트리 알고리즘은 기능 선택 을 사용하여 가장 유용한 특성이 선택되도록 안내합니다.The MicrosoftMicrosoft Decision Trees algorithm uses feature selection to guide the selection of the most useful attributes. 분석 품질 및 성능을 향상시키기 위해 기능 선택은 모든 SQL ServerSQL Server Data Mining algorithms to improve performance and the quality of analysis.Feature selection is used by all SQL ServerSQL Server Data Mining algorithms to improve performance and the quality of analysis. 기능 선택은 중요하지 않은 특성이 프로세서 시간을 사용하는 것을 방지하는 데 중요합니다.Feature selection is important to prevent unimportant attributes from using processor time. 데이터 마이닝 모델을 디자인할 때 너무 많은 입력 또는 예측 가능한 특성을 사용할 경우 모델을 처리하는 데 너무 오래 걸리거나 메모리가 부족해질 수 있습니다.If you use too many input or predictable attributes when you design a data mining model, the model can take a very long time to process, or even run out of memory. 트리를 분할할지 여부를 결정하는 데 사용되는 방법에는 entropy 및 Bayesian 네트워크에 대한 업계 표준 메트릭이 포함됩니다.Methods used to determine whether to split the tree include industry-standard metrics for entropy and Bayesian networks. 의미 있는 특성을 선택한 다음 특성의 점수와 순위를 매기는 데 사용되는 방법은 기능 선택(데이터 마이닝)을 참조하세요.For more information about the methods used to select meaningful attributes and then score and rank the attributes, see Feature Selection (Data Mining).

데이터 마이닝 모델의 일반적인 문제는 학습 데이터의 작은 차이에도 모델이 너무 민감해져서 과도한 맞춤 또는 과도한 학습이 수행된다는 것입니다.A common problem in data mining models is that the model becomes too sensitive to small differences in the training data, in which case it said to be overfitted or over-trained. 과도한 맞춤이 수행된 모델은 다른 데이터 집합에 대해 일반화될 수 없습니다.An overfitted model cannot be generalized to other data sets. 특정 데이터 집합에 대해 과잉 맞춤이 수행되지 않도록 하기 위해 MicrosoftMicrosoft 의사 결정 트리 알고리즘은 트리 증가를 제어하기 위한 기술을 사용합니다.To avoid overfitting on any particular set of data, the MicrosoftMicrosoft Decision Trees algorithm uses techniques for controlling the growth of the tree. MicrosoftMicrosoft 의사 결정 트리 알고리즘 작동 방법은 Microsoft 의사 결정 트리 알고리즘 기술 참조를 참조하세요.For a more in-depth explanation of how the MicrosoftMicrosoft Decision Trees algorithm works, see Microsoft Decision Trees Algorithm Technical Reference.

불연속 열 예측Predicting Discrete Columns

MicrosoftMicrosoft 의사 결정 트리 알고리즘이 예측 가능한 불연속 열에 대한 트리를 작성하는 방법은 히스토그램을 사용하여 설명할 수 있습니다.The way that the MicrosoftMicrosoft Decision Trees algorithm builds a tree for a discrete predictable column can be demonstrated by using a histogram. 다음 다이어그램에서는 입력 열인 Age에 대해 예측 가능한 열인 Bike Buyer를 표시하는 히스토그램을 보여 줍니다.The following diagram shows a histogram that plots a predictable column, Bike Buyers, against an input column, Age. 이 히스토그램에서는 고객의 연령으로 고객이 자전거를 구입할지 여부를 구분할 수 있음을 보여 줍니다.The histogram shows that the age of a person helps distinguish whether that person will purchase a bicycle.

Microsoft 의사 결정 트리 알고리즘의 히스토그램Histogram from Microsoft Decision Trees algorithm

다이어그램에 표시된 상관 관계로 인해 MicrosoftMicrosoft 의사 결정 트리 알고리즘은 모델에 새 노드를 만듭니다.The correlation that is shown in the diagram would cause the MicrosoftMicrosoft Decision Trees algorithm to create a new node in the model.

의사 결정 트리 노드에Decision tree node

알고리즘이 모델에 새 노드를 추가함에 따라 트리 구조가 형성됩니다.As the algorithm adds new nodes to a model, a tree structure is formed. 트리의 최상위 노드는 전체 고객 모집단에 대한 예측 가능한 열의 분석에 대해 설명합니다.The top node of the tree describes the breakdown of the predictable column for the overall population of customers. 모델이 커짐에 따라 알고리즘은 모든 열을 고려하게 됩니다.As the model continues to grow, the algorithm considers all columns.

연속 열 예측Predicting Continuous Columns

MicrosoftMicrosoft 의사 결정 트리 알고리즘이 예측 가능한 연속 열을 기반으로 트리를 작성하는 경우 각 노드에는 회귀 수식이 포함됩니다.When the MicrosoftMicrosoft Decision Trees algorithm builds a tree based on a continuous predictable column, each node contains a regression formula. 분할은 회귀 수식의 비선형점에서 발생합니다.A split occurs at a point of non-linearity in the regression formula. 예를 들어 다음 다이어그램을 참조하십시오.For example, consider the following diagram.

다중 회귀선 비선형 보여 주는Multiple regression lines showing non-linearity

표준 회귀 모델에서 전체 데이터에 대한 관계 및 추세를 나타내는 단일 수식을 파생하려고 합니다.In a standard regression model, you would attempt to derive a single formula that represents the trend and relationships for the data as a whole. 그러나 단일 수식은 복잡한 데이터에서 불연속성을 제대로 캡처하지 못할 수 있습니다.However, a single formula might do a poor job of capturing the discontinuity in complex data. 대신 MicrosoftMicrosoft 의사 결정 트리 알고리즘은 트리에서 주로 선형인 세그먼트를 찾아 이러한 세그먼트에 대한 별도 수식을 만듭니다.Instead, the MicrosoftMicrosoft Decision Trees algorithm looks for segments of the tree that are largely linear and creates separate formulas for these segments. 서로 다른 세그먼트로 데이터를 분할하여 모델에서 데이터를 보다 잘 나타낼 수 있습니다.By breaking up the data into different segments, the model can do a much better job of approximating the data.

다음 다이어그램은 위 산점도의 모델에 대한 트리 다이어그램을 나타냅니다.The following diagram represents the tree diagram for the model in the scatterplot above. 이 모델에서는 두 개의 서로 다른 수식(왼쪽 분기에 수식 y = .5x x 5 및 오른쪽 분기에 수식 y = .25x + 8.75)을 제공하여 결과를 예측합니다.To predict the outcome, the model provides two different formulas: one for the left branch, with the formula y = .5x x 5, and one for the right branch, with the formula y = .25x + 8.75. 산점도에서 두 선이 만나는 점이 비선형점이며 이 점에서 의사 결정 트리 모델의 노드가 분할됩니다.The point where the two lines come together in the scatterplot is the point of non-linearity, and is the point where a node in a decision tree model would split.

비선형 점을 나타내는 수식Equation that represents a point of non-linearity

이 모델은 두 개의 선형 수식만 있는 간단한 모델이므로 All 노드 다음에 바로 트리가 분할됩니다.This is a simple model with only two linear equations; therefore, the split in the tree is immediately after the All node. 그러나 분할은 트리의 모든 수준에서 발생할 수 있습니다.However, a split can occur at any level of the tree. 즉, 여러 수준 및 노드를 포함하는 트리에서 각 노드의 특징은 서로 다른 특성 컬렉션에 의해 지정되고 수식은 여러 노드 간에 공유될 수 있으며 단일 노드에만 적용할 수도 있습니다.That means that in a tree containing multiple levels and nodes, where each node is characterized by a different collection of attributes, a formula might be shared across multiple nodes, or apply only to a single node. 예를 들어 "특정 연령 및 특정 수입 이상인 고객"으로 정의된 노드에 대한 수식을 하나 가져오고, "통근 거리가 먼 고객"을 나타내는 노드에서 또 다른 수식을 가져올 수 있습니다.For example, you might get one formula for a node defined as "customers over a certain age and income", and another in a node that represents "customers who commute long distances". 개별 노드 또는 세그먼트에 대한 수식을 보려면 노드를 클릭하면 됩니다.To see the formula for an individual node or segment, just click the node.

의사 결정 트리 모델에 필요한 데이터Data Required for Decision Tree Models

의사 결정 트리 모델에 사용할 데이터를 준비할 때는 필요한 데이터의 양과 사용법을 비롯하여 특정 알고리즘의 요구 사항을 알고 있어야 합니다.When you prepare data for use in a decision trees model, you should understand the requirements for the particular algorithm, including how much data is needed, and how the data is used.

의사 결정 트리 모델의 요구 사항은 다음과 같습니다.The requirements for a decision tree model are as follows:

  • 단일 키 열 각 모델은 각 레코드를 고유하게 식별하는 숫자 또는 텍스트 열을 하나 포함해야 합니다.A single key column Each model must contain one numeric or text column that uniquely identifies each record. 복합 키는 사용할 수 없습니다.Compound keys are not permitted.

  • 예측 가능한 열 하나 이상의 예측 가능한 열이 필요합니다.A predictable column Requires at least one predictable column. 여러 예측 가능한 특성을 모델에 포함할 수 있으며 예측 가능한 특성은 다른 유형(숫자 또는 불연속)이 될 수 있습니다.You can include multiple predictable attributes in a model, and the predictable attributes can be of different types, either numeric or discrete. 그러나 예측 가능한 특성 수를 늘리면 처리 시간이 증가할 수 있습니다.However, increasing the number of predictable attributes can increase processing time.

  • 입력 열 불연속 또는 연속일 수 있는 입력 열이 필요합니다.Input columns Requires input columns, which can be discrete or continuous. 입력 특성 수를 늘리면 처리 시간이 영향을 받습니다.Increasing the number of input attributes affects processing time.

    의사 결정 트리 모델에 대해 지원되는 콘텐츠 형식 및 데이터 형식에 대한 자세한 내용은 Microsoft 의사 결정 트리 알고리즘 기술 참조의 요구 사항 섹션을 참조하세요.For more detailed information about the content types and data types supported for decision tree models, see the Requirements section of Microsoft Decision Trees Algorithm Technical Reference.

의사 결정 트리 모델 보기Viewing a Decision Trees Model

Microsoft 트리 뷰어를 사용하여 모델을 탐색할 수 있습니다.To explore the model, you can use the Microsoft Tree Viewer. 모델에서 여러 트리를 생성할 경우 하나의 트리를 선택하면 각 예측 가능한 특성에 대해 사례가 범주화되는 방법에 대한 분석이 뷰어에 표시됩니다.If your model generates multiple trees, you can select a tree and the viewer shows you a breakdown of how the cases are categorized for each predictable attribute. 또한 종속성 네트워크 뷰어를 사용하여 트리의 상호 작용을 볼 수 있습니다.You can also view the interaction of the trees by using the dependency network viewer. 자세한 내용은 Microsoft 트리 뷰어를 사용하여 모델 찾아보기를 참조하세요.For more information, see Browse a Model Using the Microsoft Tree Viewer.

트리의 분기 또는 노드에 대한 세부 정보를 보려면 Microsoft 일반 콘텐츠 트리 뷰어를 사용하여 모델을 탐색할 수도 있습니다.If you want to know more detail about any branch or node in the tree, you can also browse the model by using the Microsoft Generic Content Tree Viewer. 각 노드의 모든 값에 대한 분포, 트리의 각 수준에서의 확률, 연속 특성에 대한 회귀 수식 등의 콘텐츠가 모델에 대해 저장됩니다.The content stored for the model includes the distribution for all values in each node, probabilities at each level of the tree, and regression formulas for continuous attributes. 자세한 내용은 의사 결정 트리 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)로 표시됩니다.For more information, see Mining Model Content for Decision Tree Models (Analysis Services - Data Mining).

예측 만들기Creating Predictions

모델을 처리한 후에는 해당 결과가 일련의 패턴 및 통계로 저장되며 이를 사용하여 관계를 탐색하거나 예측을 만들 수 있습니다.After the model has been processed, the results are stored as a set of patterns and statistics, which you can use to explore relationships or make predictions.

의사 결정 트리 모델에서 사용하는 쿼리의 예제는 의사 결정 트리 모델 쿼리 예제를 참조하세요.For examples of queries to use with a decision trees model, see Decision Trees Model Query Examples.

마이닝 모델에 대한 쿼리를 만드는 방법에 대한 일반적인 내용은 데이터 마이닝 쿼리를 참조하세요.For general information about how to create queries against mining models, see Data Mining Queries.

주의Remarks

  • PMML(Predictive Model Markup Language)을 사용하여 마이닝 모델을 만들 수 있습니다.Supports the use of Predictive Model Markup Language (PMML) to create mining models.

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

  • OLAP 마이닝 모델의 사용과 마이닝 모델 차원의 생성을 지원합니다.Supports the use of OLAP mining models and the creation of data mining dimensions.

관련 항목:See Also

데이터 마이닝 알고리즘(Analysis Services - 데이터 마이닝) Data Mining Algorithms (Analysis Services - Data Mining)
Microsoft 의사 결정 트리 알고리즘 기술 참조 Microsoft Decision Trees Algorithm Technical Reference
의사 결정 트리 모델 쿼리 예제 Decision Trees Model Query Examples
의사 결정 트리 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)Mining Model Content for Decision Tree Models (Analysis Services - Data Mining)