Algoritmo Microsoft Decision Trees

L'algoritmo Microsoft Decision Trees è un algoritmo di classificazione e di regressione incluso in Microsoft SQL Server 2005 Analysis Services (SSAS) per la modellazione predittiva di attributi sia discreti che continui.

Per gli attributi discreti, l'algoritmo esegue le stime in base alle relazioni tra le colonne di input in un set di dati. I valori o stati di tali colonne vengono utilizzati per stimare gli stati di una colonna designata come stimabile. In particolare, l'algoritmo identifica le colonne di input correlate alla colonna stimabile. 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. La struttura decisionale esegue le stime in base alla tendenza verso un determinato risultato.

Per gli attributi continui, l'algoritmo utilizza una regressione lineare per determinare le divisioni della struttura decisionale.

Se più colonne vengono impostate come stimabili o i dati di input contengono una tabella nidificata impostata come stimabile, l'algoritmo crea una struttura decisionale separata per ogni colonna stimabile.

Esempio

Il reparto marketing dell'azienda Adventure Works Cycle desidera identificare le caratteristiche dei clienti precedenti che potrebbero indicare se è probabile che tali clienti acquisteranno un prodotto in futuro. Nel database AdventureWorks vengono archiviate informazioni demografiche che descrivono i clienti precedenti. Grazie all'analisi di tali informazioni tramite l'algoritmo Microsoft Decision Trees, il reparto marketing può creare un modello che consente di stimare se un cliente specifico acquisterà prodotti, in base agli stati delle colonne conosciute su tale cliente, ad esempio quelle relative a informazioni demografiche o alle tendenze di acquisto passate.

Funzionamento dell'algoritmo

L'algoritmo Microsoft Decision Trees genera un modello di data mining creando una serie di divisioni, chiamate anche nodi, nella struttura. L'algoritmo aggiunge un nodo al modello ogni volta che rileva una colonna di input correlata in modo significativo alla colonna stimabile. Il modo in cui l'algoritmo determina una divisione varia a seconda che venga stimata una colonna continua o discreta. Per una descrizione più dettagliata del funzionamento dell'algoritmo Microsoft Decision Trees con colonne stimabili discrete, vedere Classificazione scalabile su database di SQL Server e Processo di apprendimento per le reti Bayes, basato sulla combinazione di dati noti e dati statistici. Per ulteriori informazioni sul funzionamento dell'algoritmo Microsoft Decision Trees nel caso di colonne stimabili continue, vedere l'appendice del documento Modelli di struttura autoregressivi per l'analisi di serie temporali.

Stima di colonne discrete

Per illustrare il modo in cui l'algoritmo Microsoft Decision Trees crea una struttura per una colonna stimabile discreta, è possibile utilizzare un istogramma. Nel diagramma seguente viene illustrato un istogramma che traccia la colonna stimabile Bike Buyers in base alla colonna di input Age. L'istogramma mostra che l'età consente di determinare se una persona acquisterà o meno una bicicletta.

Istogramma dall'algoritmo Microsoft Decision Trees

In base alla correlazione illustrata nel diagramma, l'algoritmo Microsoft Decision Trees crea un nuovo nodo nel modello.

Nodo della struttura decisionale

Quando l'algoritmo aggiunge nuovi nodi a un modello, viene formata una struttura. Il nodo superiore della struttura descrive la suddivisione della colonna stimabile per la popolazione complessiva di clienti. Mano a mano che il modello continua a espandersi, l'algoritmo considera tutte le colonne.

Stima di colonne continue

Quando l'algoritmo Microsoft Decision Trees crea una struttura basata su una colonna stimabile continua, ogni nodo contiene una formula di regressione. Nella formula di regressione viene eseguita una divisione in corrispondenza di un punto di non linearità. Si consideri ad esempio il diagramma seguente.

Rette di regressione multiple che indicano la non linearità

Il diagramma contiene i dati che è possibile modellare utilizzando una linea singola o due linee collegate. Una linea singola non consente tuttavia una rappresentazione ottimale dei dati. Se invece si utilizzano due linee, il modello consentirà di ottenere una migliore approssimazione. Il punto di unione delle due linee è il punto di non linearità, ovvero il punto di divisione di un nodo in un modello di struttura decisionale. Ad esempio, il nodo che corrisponde al punto di non linearità nel grafico precedente potrebbe essere rappresentato dal diagramma seguente. Le due equazioni rappresentano le equazioni di regressione per le due linee.

Equazione che rappresenta un punto di non linearità

Utilizzo dell'algoritmo

Un modello di struttura decisionale deve contenere una colonna chiave, le colonne di input e una colonna stimabile.

L'algoritmo Microsoft Decision Trees supporta tipi di contenuto specifici delle colonne di input, tipi di contenuto specifici delle colonne stimabili e flag di modellazione, elencati nella tabella seguente.

Tipi di contenuto delle colonne di input

Continuous, Cyclical, Discrete, Discretized, Key, Table e Ordered

Tipi di contenuto delle colonne stimabili

Continuous, Cyclical, Discrete, Discretized, Table e Ordered

Flag di modellazione

MODEL_EXISTENCE_ONLY, NOT NULL e REGRESSOR

Tutti gli algoritmi Microsoft supportano un set comune di funzioni. L'algoritmo Microsoft Decision Trees supporta tuttavia funzioni aggiuntive, elencate nella tabella seguente.

IsDescendant

PredictNodeId

IsInNode

PredictProbability

PredictAdjustedProbability

PredictStdev

PredictAssociation

PredictSupport

PredictHistogram

PredictVariance

Per un elenco delle funzioni comuni a tutti gli algoritmi Microsoft, vedere Algoritmi di data mining. Per ulteriori informazioni sull'utilizzo di queste funzioni, vedere Guida di riferimento alle funzioni DMX (Data Mining Extensions).

L'algoritmo Microsoft Decision Trees supporta l'utilizzo dello standard PMML (Predictive Model Markup Language) per la creazione dei modelli di data mining.

L'algoritmo Microsoft Decision Trees supporta vari parametri che influiscono sulle prestazioni e sull'accuratezza del modello di data mining risultante. Nella tabella seguente viene descritto ogni parametro.

Parametro Descrizione

MAXIMUM_INPUT_ATTRIBUTES

Definisce il numero di attributi di input che l'algoritmo è in grado di gestire prima di richiamare la funzionalità di selezione degli attributi. Impostare questo valore su 0 per disattivare la funzionalità di selezione degli attributi.

Il valore predefinito è 255.

MAXIMUM_OUTPUT_ATTRIBUTES

Definisce il numero di attributi di output che l'algoritmo è in grado di gestire prima di richiamare la funzionalità di selezione degli attributi. Impostare questo valore su 0 per disattivare la funzionalità di selezione degli attributi.

Il valore predefinito è 255.

SCORE_METHOD

Determina il metodo utilizzato per calcolare il punteggio di divisione. Le opzioni disponibili sono: entropia (1), Bayes con probabilità a priori K2 (2) o equivalente Bayes Dirichlet con probabilità a priori a distribuzione uniforme (3).

Il valore predefinito è 3.

SPLIT_METHOD

Determina il metodo utilizzato per la divisione del nodo. Le opzioni disponibili sono: Binario (1), Completo (2), o Entrambi (3).

Il valore predefinito è 3.

MINIMUM_SUPPORT

Determina il numero minimo di case foglia necessari per generare una divisione nella struttura decisionale.

Il valore predefinito è 10.

COMPLEXITY_PENALTY

Controlla l'espansione della struttura decisionale. Un valore basso comporta l'aumento del numero di divisioni, mentre un valore alto comporta la riduzione del numero di divisioni. Il valore predefinito è basato sul numero di attributi per un modello specifico, come descritto nell'elenco seguente:

  • Per un numero di attributi compreso tra 1 e 9, il valore predefinito è 0,5.
  • Per un numero di attributi compreso tra 10 e 99, il valore predefinito è 0,9.
  • Per un numero di attributi uguale o superiore a 100, il valore predefinito è 0,99.

FORCED_REGRESSOR

Forza l'algoritmo a utilizzare le colonne indicate come regressori, indipendentemente dall'importanza delle colonne calcolata dall'algoritmo. Questo parametro viene utilizzato solo per le strutture decisionali che stimano un attributo continuo.

Vedere anche

Concetti

Algoritmi di data mining
Creazione guidata modello di data mining
Funzionalità di selezione degli attributi nel data mining
Visualizzazione di un modello di data mining con il Visualizzatore Microsoft Decision Trees

Altre risorse

CREATE MINING MODEL (DMX)

Guida in linea e informazioni

Assistenza su SQL Server 2005