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 sospeso 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 decision trees Microsoft è un algoritmo di classificazione e regressione da usare nella modellazione predittiva di attributi discreti e continui.

Per gli attributi discreti, l'algoritmo esegue stime in base alle relazioni tra colonne di input in un set di dati. L'algoritmo usa i valori o gli stati di tali colonne per stimare gli stati di una colonna designata come prevedibile. In particolare, l'algoritmo identifica le colonne di input correlate alla colonna stimabile.

Ad esempio, in uno scenario per stimare quali clienti hanno probabilità di acquistare una bicicletta, se nove clienti su dieci più giovani ma solo due su dieci clienti più anziani acquistano una bicicletta, l'algoritmo deduce che l'età è un buon stimatore dell'acquisto di biciclette. L'albero delle decisioni effettua stime in base a questa tendenza verso un determinato risultato.

Per gli attributi continui, l'algoritmo usa la regressione lineare per determinare la posizione di divisione di un albero delle decisioni.

Se più di una colonna è impostata come prevedibile, oppure se i dati di input contengono una tabella nidificata impostata come prevedibile, l'algoritmo genera un albero decisionale separato per ogni colonna prevedibile.

Example

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 decision trees Microsoft 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 trova una colonna di input correlata in modo significativo alla colonna stimabile. Il modo in cui l'algoritmo determina una divisione è diverso a seconda che stia stimando una colonna continua o una colonna discreta.

L'algoritmo Microsoft Decision Trees usa la selezione delle funzionalità per guidare la selezione degli attributi più utili. Tutti gli algoritmi di data mining SQL Server usano la selezione delle funzionalità per migliorare la qualità delle prestazioni e dell'analisi e impedire che gli attributi non importanti usino il tempo del processore. Se si usano troppi attributi di input o stimabili quando si progetta un modello di data mining, il modello può richiedere molto tempo per elaborare o esaurire la memoria. I metodi utilizzati per determinare se suddividere l'albero includono metriche standard del settore quali entropia e reti bayesiane. Per altre informazioni sui metodi usati per selezionare attributi significativi e quindi assegnare punteggi e classificare gli attributi, vedere Selezione delle funzionalità (data mining).

Un problema comune nei modelli di data mining è che il modello diventi troppo sensibile a piccole differenze nei dati di addestramento, fenomeno noto come overfitted o overtrained. Un modello sovradattato non è generalizzabile ad altri set di dati. Per evitare il sovra-adattamento a uno specifico set di dati, l'algoritmo Microsoft Decision Trees utilizza tecniche per controllare la crescita dell'albero. Per una spiegazione approfondita del funzionamento dell'algoritmo Microsoft Decision Trees, vedere Microsoft Decision Trees Algorithm Technical Reference (Informazioni tecniche sull'algoritmo Decision Trees).

Previsione delle colonne discrete

L'algoritmo Microsoft Decision Trees crea un albero per una colonna prevedibile discreta utilizzando un istogramma. Il diagramma seguente mostra un istogramma che traccia una colonna stimabile, Bike Buyers, rispetto a una colonna di input Age. L'istogramma mostra che l'età di una persona aiuta a distinguere se quella persona acquista una bicicletta.

Schermata di un istogramma dell'algoritmo degli alberi decisionali di Microsoft.

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

Schermata di un nodo di un albero decisionale.

Quando l'algoritmo aggiunge nuovi nodi a un modello, crea una struttura ad albero. Il nodo superiore dell'albero descrive la suddivisione della colonna prevedibile per l'intera popolazione di clienti. Man mano che il modello continua a crescere, l'algoritmo considera tutte le colonne.

Previsione delle colonne continue

Quando l'algoritmo decision trees Microsoft compila un albero basato su una colonna stimabile continua, ogni nodo contiene una formula di regressione. Una divisione si verifica a un punto di nonlinearità nella formula di regressione. Si consideri ad esempio il diagramma seguente.

Schermata con più rette di regressione che mostrano una non linearità.

Un modello di regressione standard tenta di derivare una singola formula che rappresenta la tendenza e le relazioni per i dati nel suo complesso. Tuttavia, una singola formula potrebbe eseguire un lavoro insufficiente per acquisire la discontinuità nei dati complessi. Al contrario, l'algoritmo Microsoft Decision Trees cerca segmenti dell'albero che sono in gran parte lineari e crea formule separate per questi segmenti. Suddividendo i dati in segmenti diversi, il modello può eseguire un lavoro migliore per approssimare i dati.

Il diagramma seguente rappresenta il diagramma ad 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 = .5x x 5 e una per il ramo destro con la formula y = .25x + 8,75. Il punto in cui le due righe vengono unite nel grafico a dispersione è il punto di nonlinearità in cui un nodo in un modello di albero delle decisioni si divide.

Schermata di un'equazione che rappresenta un punto di nonlinearità.

Questo modello è semplice con solo due equazioni lineari, quindi la divisione nell'albero si trova immediatamente dopo il nodo Tutto . Tuttavia, una divisione può verificarsi a qualsiasi livello dell'albero. In un albero contenente più livelli e nodi in cui ogni nodo è caratterizzato da una raccolta diversa di attributi, una formula può essere condivisa tra più nodi o si applica solo a un singolo nodo.

Ad esempio, è possibile ottenere una formula per un nodo definito come "clienti di età e reddito specifici" e un altro in un nodo che rappresenta "i clienti che commutano lunghe distanze". Per visualizzare la formula per un singolo nodo o segmento, selezionare il nodo.

Dati necessari per i modelli di albero delle decisioni

Quando si preparano i dati per l'uso in un modello di albero delle decisioni, comprendere i requisiti per l'algoritmo specifico, inclusi i dati necessari e il modo in cui vengono usati i dati.

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

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

  • Colonna prevedibile. Il modello richiede almeno una colonna stimabile. È possibile includere più attributi stimabili in un modello e gli attributi stimabili possono essere di tipi diversi, numerici o discreti. L'aumento del numero di attributi stimabili può aumentare il tempo di elaborazione.

  • Colonne di input. Il modello 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 dettagliate sui tipi di contenuto e sui tipi di dati supportati per i modelli di albero delle decisioni, vedere la sezione Requisiti della guida tecnica sull'algoritmo Microsoft Decision Trees.

Visualizzazione di un modello di albero delle decisioni

Per esplorare il modello, usare il visualizzatore albero di Microsoft. Se il modello genera più alberi, è possibile selezionare un albero e visualizzare una suddivisione del modo in cui i case vengono classificati per ogni attributo stimabile. È anche possibile visualizzare l'interazione degli alberi usando il visualizzatore di rete delle dipendenze. Per altre informazioni, vedere Browse a Model Using the Microsoft Tree Viewer.

Per altri dettagli su qualsiasi ramo o nodo nell'albero, è anche possibile esplorare il modello usando il Microsoft Visualizzatore albero del contenuto generico. Il contenuto archiviato per il modello include la distribuzione di tutti i valori in ogni nodo, probabilità a ogni livello dell'albero e formule di regressione per gli attributi continui. Per altre informazioni, vedere Contenuto dei modelli di data mining per i modelli di albero delle decisioni (Analysis Services - Data Mining).

Creazione di stime

Dopo l'elaborazione del modello, i risultati vengono archiviati come set di modelli e statistiche. Usare questi risultati per esplorare le relazioni o eseguire stime.

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

Per informazioni generali su come creare query sui modelli di data mining, vedere Query di data mining.

Osservazioni:

  • Supporta l'uso di Predictive Model Markup Language (PMML) per creare modelli di data mining.

  • Supporta il drill-through.

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

Vedere anche

Algoritmi di Data Mining (Analysis Services - Data Mining)
Riferimento tecnico per l'algoritmo Microsoft Decision Trees
Esempi di query sul modello Decision Trees
Contenuto dei modelli di data mining per i modelli ad albero delle decisioni (Analysis Services - Data Mining)