Algoritmo Microsoft Decision TreesMicrosoft Decision Trees Algorithm

Si applica a: yesSQL Server Analysis Services alcunAzure Analysis ServicesAPPLIES TO: yesSQL Server Analysis Services noAzure Analysis Services

L'algoritmo MicrosoftMicrosoft Decision Trees è un algoritmo di classificazione e di regressione per la modellazione predittiva di attributi sia discreti che continui.The MicrosoftMicrosoft Decision Trees algorithm is a classification and regression algorithm for use in predictive modeling of both discrete and continuous attributes.

Per gli attributi discreti, l'algoritmo esegue le stime in base alle relazioni tra le colonne di input in un set di dati.For discrete attributes, the algorithm makes predictions based on the relationships between input columns in a dataset. I valori, noti come stati, di tali colonne vengono utilizzati per stimare gli stati di una colonna designata come stimabile.It uses the values, known as states, of those columns to predict the states of a column that you designate as predictable. In particolare, l'algoritmo identifica le colonne di input correlate alla colonna stimabile.Specifically, the algorithm identifies the input columns that are correlated with the predictable column. Se ad esempio, in uno scenario finalizzato alla stima dei clienti che probabilmente acquisteranno una bicicletta, nove su dieci tra i clienti più giovani acquistano la bicicletta mentre solo due su dieci tra i clienti meno giovani la acquistano, l'algoritmo desume che l'età rappresenta un criterio di stima valido per l'acquisto di biciclette.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. L'albero delle decisioni esegue le stime in base alla tendenza verso un determinato risultato.The decision tree makes predictions based on this tendency toward a particular outcome.

Per gli attributi continui, l'algoritmo utilizza una regressione lineare per determinare le divisioni dell'albero delle decisioni.For continuous attributes, the algorithm uses linear regression to determine where a decision tree splits.

Se più colonne vengono impostate come stimabili o i dati di input contengono una tabella nidificata impostata come stimabile, l'algoritmo compilare un albero delle decisioni separato per ogni colonna stimabileIf 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

EsempioExample

Il reparto marketing dell'azienda Adventure Works CyclesAdventure Works Cycles desidera identificare le caratteristiche dei clienti precedenti che potrebbero indicare se è probabile che tali clienti acquisteranno un prodotto in futuro.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. Nel database AdventureWorks2012AdventureWorks2012 vengono archiviate informazioni demografiche che descrivono i clienti precedenti.The AdventureWorks2012AdventureWorks2012 database stores demographic information that describes previous customers. Grazie all'analisi di tali informazioni tramite l'algoritmo MicrosoftMicrosoft Decision Trees, il reparto marketing può compilare un modello che consente di stimare se un cliente specifico acquisterà prodotti, in base agli stati delle colonne note su tale cliente, ad esempio quelle relative a informazioni demografiche o alle tendenze di acquisto passate.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.

Funzionamento dell'algoritmoHow the Algorithm Works

L'algoritmo MicrosoftMicrosoft Decision Trees compila un modello di data mining creando una serie di divisioni nell'albero.The MicrosoftMicrosoft Decision Trees algorithm builds a data mining model by creating a series of splits in the tree. Queste divisioni sono rappresentate come nodi.These splits are represented as nodes. L'algoritmo aggiunge un nodo al modello ogni volta che rileva una colonna di input correlata in modo significativo alla colonna stimabile.The algorithm adds a node to the model every time that an input column is found to be significantly correlated with the predictable column. Il modo in cui l'algoritmo determina una divisione varia a seconda che venga stimata una colonna continua o discreta.The way that the algorithm determines a split is different depending on whether it is predicting a continuous column or a discrete column.

L'algoritmo MicrosoftMicrosoft Decision Trees usa la selezione delle caratteristiche come guida per la selezione degli attributi più utili.The MicrosoftMicrosoft Decision Trees algorithm uses feature selection to guide the selection of the most useful attributes. La selezione delle caratteristiche è usata da tutti gli algoritmi di data mining di SQL ServerSQL Server per migliorare le prestazioni e la qualità dell'analisi.Feature selection is used by all SQL ServerSQL Server Data Mining algorithms to improve performance and the quality of analysis. La caratteristica di selezione degli attributi è importante per impedire agli attributi poco importanti di utilizzare il processore.Feature selection is important to prevent unimportant attributes from using processor time. Se si utilizza un numero eccessivo di input o di attributi stimabili quando si progetta un modello di data mining, l'elaborazione del modello può richiedere molto tempo oppure la memoria potrebbe risultare insufficiente.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. I metodi usati per determinare se dividere l'albero includono le metriche standard del settore per entropia e le reti bayesiane .Methods used to determine whether to split the tree include industry-standard metrics for entropy and Bayesian networks . Per altre informazioni sui metodi usati per selezionare attributi significativi e quindi assegnare un punteggio e classificare gli attributi, vedere Selezione delle caratteristiche (Data mining).For more information about the methods used to select meaningful attributes and then score and rank the attributes, see Feature Selection (Data Mining).

Un problema comune nei modelli di data mining è l'eccessiva sensibilità del modello alle piccole differenze nei dati di training. In tal caso, il modello viene detto con overfitting o con overtraining.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. Non è possibile generalizzare un modello overfitted agli altri set di dati.An overfitted model cannot be generalized to other data sets. Per evitare l'overfitting di un particolare set di dati, nell'algoritmo MicrosoftMicrosoft Decision Trees vengono utilizzate tecniche per il controllo della crescita dell'albero.To avoid overfitting on any particular set of data, the MicrosoftMicrosoft Decision Trees algorithm uses techniques for controlling the growth of the tree. Per una spiegazione più dettagliata del funzionamento dell'algoritmo MicrosoftMicrosoft Decision Trees, vedere Guida di riferimento tecnico per l'algoritmo Microsoft Decision Trees.For a more in-depth explanation of how the MicrosoftMicrosoft Decision Trees algorithm works, see Microsoft Decision Trees Algorithm Technical Reference.

Stima di colonne discretePredicting Discrete Columns

Per illustrare il modo in cui l'algoritmo MicrosoftMicrosoft Decision Trees compila un albero per una colonna stimabile discreta, è possibile usare un istogramma.The way that the MicrosoftMicrosoft Decision Trees algorithm builds a tree for a discrete predictable column can be demonstrated by using a histogram. Nel diagramma seguente viene illustrato un istogramma che traccia la colonna stimabile Bike Buyers in base alla colonna di input Age.The following diagram shows a histogram that plots a predictable column, Bike Buyers, against an input column, Age. L'istogramma mostra che l'età consente di determinare se una persona acquisterà o meno una bicicletta.The histogram shows that the age of a person helps distinguish whether that person will purchase a bicycle.

Istogramma dall'algoritmo Microsoft Decision TreesHistogram from Microsoft Decision Trees algorithm

In base alla correlazione illustrata nel diagramma, l'algoritmo MicrosoftMicrosoft Decision Trees crea un nuovo nodo nel modello.The correlation that is shown in the diagram would cause the MicrosoftMicrosoft Decision Trees algorithm to create a new node in the model.

Nodo dell'albero delle decisioniDecision tree node

Quando l'algoritmo aggiunge nuovi nodi a un modello, viene formata una struttura ad albero.As the algorithm adds new nodes to a model, a tree structure is formed. Il nodo superiore dell'albero descrive la suddivisione della colonna stimabile per la popolazione complessiva di clienti.The top node of the tree describes the breakdown of the predictable column for the overall population of customers. Mano a mano che il modello continua a espandersi, l'algoritmo considera tutte le colonne.As the model continues to grow, the algorithm considers all columns.

Stima di colonne continuePredicting Continuous Columns

Quando l'algoritmo MicrosoftMicrosoft Decision Trees compila un albero basato su una colonna stimabile continua, ogni nodo contiene una formula di regressione.When the MicrosoftMicrosoft Decision Trees algorithm builds a tree based on a continuous predictable column, each node contains a regression formula. Nella formula di regressione viene eseguita una divisione in corrispondenza di un punto di non linearità.A split occurs at a point of non-linearity in the regression formula. Si consideri ad esempio il diagramma seguente.For example, consider the following diagram.

Più rette di regressione con non linearitàMultiple regression lines showing non-linearity

In un modello di regressione standard, si tenterebbe di derivare una singola formula che rappresenta la tendenza e le relazioni per i dati nel suo complesso.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. Una singola formula, tuttavia, potrebbe non essere appropriata per acquisire la discontinuità in dati complessi.However, a single formula might do a poor job of capturing the discontinuity in complex data. Al contrario, l'algoritmo MicrosoftMicrosoft Decision Trees cerca i segmenti dell'albero che sono in gran parte lineari e crea formule separate per questi segmenti.Instead, the MicrosoftMicrosoft Decision Trees algorithm looks for segments of the tree that are largely linear and creates separate formulas for these segments. Suddividendo i dati in segmenti diversi, il modello consentirà di ottenere una migliore approssimazione.By breaking up the data into different segments, the model can do a much better job of approximating the data.

Il diagramma seguente rappresenta il diagramma dell'albero per il modello nel grafico a dispersione precedente.The following diagram represents the tree diagram for the model in the scatterplot above. Per stimare il risultato, il modello fornisce due formule diverse: una per il ramo sinistro, con la formula y = 0,5x x 5 e una per il ramo destro, con la formula y = 0,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. Il punto di unione delle due linee nel grafico a dispersione è il punto di non linearità, ovvero il punto di divisione di un nodo in un modello di albero decisionale.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.

Equazione che rappresenta un punto di non linearitàEquation that represents a point of non-linearity

Si tratta di un modello semplice con solo due equazioni lineari. La divisione nell'albero si trova subito dopo il nodo Tutti .This is a simple model with only two linear equations; therefore, the split in the tree is immediately after the All node. La divisione può tuttavia avvenire su qualsiasi livello dell'albero.However, a split can occur at any level of the tree. Questo significa che in un albero che contiene più livelli e nodi, in cui ogni nodo è caratterizzato da una raccolta di attributi diversi, una formula può essere condivisa tra più nodi o essere applicabile solo a un singolo nodo.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. Ad esempio, si potrebbe ottenere una formula per un nodo definito come "clienti appartenenti a una fascia di età e reddito specifica" e un altro nodo che rappresenta i "clienti pendolari su lunghe distanze".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". Per visualizzare la formula per un singolo nodo o segmento, è sufficiente fare clic sul nodo.To see the formula for an individual node or segment, just click the node.

Dati richiesti per i modelli di albero delle decisioniData Required for Decision Tree Models

Quando si preparano i dati da utilizzare in un modello di albero delle decisioni, verificare che siano chiari i requisiti per l'algoritmo specifico, tra cui la quantità di dati necessari e la modalità di utilizzo dei dati.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.

I requisiti per un modello di albero delle decisioni sono i seguenti:The requirements for a decision tree model are as follows:

  • Una colonna a chiave singola Ogni modello deve contenere una colonna numerica o di testo che identifichi in modo univoco ogni record.A single key column Each model must contain one numeric or text column that uniquely identifies each record. Le chiavi composte non sono consentite.Compound keys are not permitted.

  • Una colonna stimabile Richiede almeno una colonna stimabile.A predictable column Requires at least one predictable column. È possibile includere più attributi stimabili in un modello e tali attributi possono essere di tipi diversi, numerici o discreti.You can include multiple predictable attributes in a model, and the predictable attributes can be of different types, either numeric or discrete. Tuttavia, aumentando il numero di attributi stimabili può aumentare il tempo di elaborazione.However, increasing the number of predictable attributes can increase processing time.

  • Colonne di input Richiede colonne di input, che possono essere discrete o continue.Input columns Requires input columns, which can be discrete or continuous. L'aumento del numero di attributi di input influisce sul tempo di elaborazione.Increasing the number of input attributes affects processing time.

    Per informazioni più dettagliate sui tipi di contenuto e i tipi di dati supportati per i modelli di albero delle decisioni, vedere la sezione Requisiti di Guida di riferimento tecnico per l'algoritmo Microsoft Decision Trees.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.

Visualizzazione di un modello di albero delle decisioniViewing a Decision Trees Model

Per esplorare il modello, è possibile usare il Visualizzatore Microsoft Decision Trees.To explore the model, you can use the Microsoft Tree Viewer. Se il modello genera più alberi, è possibile selezionare un albero per visualizzare dettagli sulla classificazione dei case per ciascun attributo stimabile.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. È inoltre possibile visualizzare l'interazione degli alberi utilizzando il Visualizzatore rete di dipendenze.You can also view the interaction of the trees by using the dependency network viewer. Per altre informazioni, vedere Visualizzare un modello usando il Visualizzatore Microsoft Decision Trees.For more information, see Browse a Model Using the Microsoft Tree Viewer.

Per ulteriori dettagli sui nodi o sui rami dell'albero, è anche possibile esplorare il modello in Microsoft Generic Content Tree Viewer.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. Il contenuto memorizzato per il modello include la distribuzione per tutti i valori in ogni nodo, le probabilità di ogni livello dell'albero e le formule di regressione degli attributi continui.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. Per altre informazioni, vedere Mining Model Content for Decision Tree Models (Analysis Services - Data Mining).For more information, see Mining Model Content for Decision Tree Models (Analysis Services - Data Mining).

Creazione di stimeCreating Predictions

In seguito all'elaborazione del modello, i risultati vengono archiviati come un set di modelli e statistiche che è possibile utilizzare per esplorare le relazioni o per eseguire stime.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.

Per gli esempi di query da usare con un modello di albero delle decisioni, vedere Esempi di query sul modello di alberi delle decisioni.For examples of queries to use with a decision trees model, see Decision Trees Model Query Examples.

Per informazioni generali sulla creazione di query in base ai modelli di data mining, vedere Query di data mining.For general information about how to create queries against mining models, see Data Mining Queries.

OsservazioniRemarks

  • Supporta l'utilizzo del linguaggio PMML (Predictive Model Markup Language) per la creazione di modelli di data mining.Supports the use of Predictive Model Markup Language (PMML) to create mining models.

  • Supporta il drill-through.Supports drillthrough.

  • Supporta l'utilizzo di modelli di data mining OLAP e la creazione di dimensioni di data mining.Supports the use of OLAP mining models and the creation of data mining dimensions.

Vedere ancheSee Also

Algoritmi di Data Mining & #40; Analysis Services - Data Mining & #41; Data Mining Algorithms (Analysis Services - Data Mining)
Microsoft Decision Trees riferimento tecnico per l'algoritmo Microsoft Decision Trees Algorithm Technical Reference
Esempi di Query modello di alberi delle decisioni Decision Trees Model Query Examples
Contenuto del modello di data mining per i modelli di albero delle decisioni & #40; Analysis Services - Data Mining & #41;Mining Model Content for Decision Tree Models (Analysis Services - Data Mining)