Algoritmo Microsoft Decision Trees

Si applica a: SQL Server 2019 e versioni precedenti di Analysis Services Azure Analysis Services Fabric/Power BI Premium

Importante

Il data mining è stato deprecato in SQL Server 2017 Analysis Services e ora è stato interrotto in SQL Server 2022 Analysis Services. La documentazione non viene aggiornata per le funzionalità deprecate e non più disponibili. Per altre informazioni, vedere Compatibilità con le versioni precedenti di Analysis Services.

L'algoritmo Microsoft Decision Trees è un algoritmo di classificazione e regressione da usare nella modellazione predittiva di attributi discreti e 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, noti come 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. L'albero delle decisioni 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 dell'albero delle decisioni.

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 stimabile

Esempio

Il reparto marketing dell'azienda Adventure Works Cycles vuole identificare le caratteristiche dei clienti precedenti che potrebbero indicare se tali clienti potrebbero acquistare un prodotto in futuro. Il database AdventureWorks2012 archivia informazioni demografiche che descrivono i clienti precedenti. Usando l'algoritmo Microsoft Decision Trees per analizzare queste informazioni, il reparto marketing può creare un modello che stima se un determinato cliente acquisterà prodotti, in base agli stati delle colonne note relative al cliente, ad esempio dati demografici o modelli di acquisto precedenti.

Funzionamento dell'algoritmo

L'algoritmo Microsoft Decision Trees crea un modello di data mining creando una serie di divisioni nell'albero. Queste divisioni sono rappresentate come nodi. 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.

L'algoritmo Microsoft Decision Trees usa la selezione delle funzionalità per guidare la selezione degli attributi più utili. La selezione delle caratteristiche viene utilizzata da tutti gli algoritmi di data mining SQL Server per migliorare le prestazioni e la qualità dell'analisi. La caratteristica di selezione degli attributi è importante per impedire agli attributi poco importanti di utilizzare il processore. 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. I metodi usati per determinare se dividere l'albero includono metriche standard del settore per entropia e reti Bayesian*.* Per altre informazioni sui metodi usati per selezionare attributi significativi e quindi assegnare un punteggio e classificare gli attributi, vedere Selezione funzionalità (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. Non è possibile generalizzare un modello overfitted agli altri set di dati. Per evitare l'overfitting di un determinato set di dati, l'algoritmo Microsoft Decision Trees usa tecniche per controllare la crescita dell'albero. Per una spiegazione più approfondita del funzionamento dell'algoritmo Microsoft Decision Trees, vedere Microsoft Decision Trees Algorithm Technical Reference (Informazioni di riferimento tecnico sull'algoritmo Microsoft Decision Trees).

Stima di colonne discrete

Il modo in cui l'algoritmo Microsoft Decision Trees crea un albero per una colonna stimabile discreta può essere illustrato usando 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 dell'algoritmo Microsoft Decision Trees Istogramma

La correlazione illustrata nel diagramma fa sì che l'algoritmo Microsoft Decision Trees crei un nuovo nodo nel modello.

Nodo dell'albero decisione

Quando l'algoritmo aggiunge nuovi nodi a un modello, viene formata una struttura ad albero. Il nodo superiore dell'albero 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 compila un albero basato 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.

Più linee di regressione che mostrano linee di

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. Una singola formula, tuttavia, potrebbe non essere appropriata per acquisire la discontinuità in dati complessi. L'algoritmo Microsoft Decision Trees cerca invece segmenti dell'albero che sono in gran parte lineari e crea formule separate per questi segmenti. Suddividendo i dati in segmenti diversi, il modello consentirà di ottenere una migliore approssimazione.

Il diagramma seguente rappresenta il diagramma dell'albero per il modello nel grafico a dispersione precedente. 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. 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.

Equazione che rappresenta un punto di equazione di non linearità

Si tratta di un modello semplice con solo due equazioni lineari. La divisione nell'albero si trova subito dopo il nodo Tutti . La divisione può tuttavia avvenire su qualsiasi livello dell'albero. 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. 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". Per visualizzare la formula per un singolo nodo o segmento, è sufficiente fare clic sul nodo.

Dati richiesti per i modelli di albero delle decisioni

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.

I requisiti per un modello di albero delle decisioni sono i seguenti:

  • Una colonna a chiave singola Ogni modello deve contenere una colonna numerica o di testo che identifichi in modo univoco ogni record. Le chiavi composte non sono consentite.

  • Una colonna stimabile Richiede almeno una colonna stimabile. È possibile includere più attributi stimabili in un modello e tali attributi possono essere di tipi diversi, numerici o discreti. Tuttavia, aumentando il numero di attributi stimabili può aumentare il tempo di elaborazione.

  • Colonne di input Richiede colonne di input, che possono essere discrete o continue. L'aumento del numero di attributi di input influisce sul tempo di elaborazione.

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.

Visualizzazione di un modello di albero delle decisioni

Per esplorare il modello, è possibile usare il Visualizzatore Microsoft Decision Trees. Se il modello genera più alberi, è possibile selezionare un albero per visualizzare dettagli sulla classificazione dei case per ciascun attributo stimabile. È inoltre possibile visualizzare l'interazione degli alberi utilizzando il Visualizzatore rete di dipendenze. Per altre informazioni, vedere Visualizzare un modello usando il Visualizzatore Microsoft Decision Trees.

Per ulteriori dettagli sui nodi o sui rami dell'albero, è anche possibile esplorare il modello in 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. Per altre informazioni, vedere Contenuto del modello di data mining per i modelli di albero delle decisioni (Analysis Services - Data mining).For more information, see Mining Model Content for Decision Tree Models (Analysis Services - Data mining).

Creazione di stime

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.

Per gli esempi di query da usare con un modello di albero delle decisioni, vedere Esempi di query sul modello di alberi delle decisioni.

Per informazioni generali sulla creazione di query in base ai modelli di data mining, vedere Query di data mining.

Commenti

  • Supporta l'utilizzo del linguaggio PMML (Predictive Model Markup Language) per la creazione di modelli di data mining.

  • Supporta il drill-through.

  • Supporta l'utilizzo di modelli di data mining OLAP e la creazione di dimensioni di data mining.

Vedere anche

Algoritmi di data mining (Analysis Services - Data mining)
Guida di riferimento tecnico per l'algoritmo Microsoft Decision Trees
Esempi di query sul modello di alberi delle decisioni
Mining Model Content for Decision Tree Models (Analysis Services - Data Mining)