Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'algoritmo Microsoft Decision Trees è un algoritmo ibrido che incorpora metodi diversi per la creazione di un albero e supporta più attività analitiche, tra cui regressione, classificazione e associazione. L'algoritmo Microsoft Decision Trees supporta la modellazione di attributi discreti e continui.
In questo argomento viene illustrata l'implementazione dell'algoritmo, viene descritto come personalizzare il comportamento dell'algoritmo per attività diverse e vengono forniti collegamenti ad altre informazioni sull'esecuzione di query sui modelli di albero delle decisioni.
Implementazione dell'algoritmo Decision Trees
L'algoritmo Microsoft Decision Trees applica l'approccio bayesiano ai modelli di interazione causale ottenendo distribuzioni posteriori approssimative per i modelli. Per una spiegazione dettagliata di questo approccio, vedere il documento sul sito di Microsoft Research, per Structure and Parameter Learning.
La metodologia per valutare il valore delle informazioni necessarie per l'apprendimento si basa sul presupposto dell'equivalenza della probabilità. Questo presupposto afferma che i dati non devono aiutare a discriminare le strutture di rete che in caso contrario rappresentano le stesse asserzioni di indipendenza condizionale. Si presuppone che ogni caso abbia una singola rete Bayesian precedente e una singola misura di attendibilità per tale rete.
Usando queste reti precedenti, l'algoritmo calcola quindi le probabilità posteriori relative delle strutture di rete date ai dati di training correnti e identifica le strutture di rete con le probabilità posteriori più elevate.
L'algoritmo Microsoft Decision Trees usa metodi diversi per calcolare l'albero migliore. Il metodo usato dipende dall'attività, che può essere una regressione lineare, una classificazione o un'analisi dell'associazione. Un singolo modello può contenere più alberi per attributi stimabili diversi. Inoltre, ogni albero può contenere più rami, a seconda del numero di attributi e valori presenti nei dati. La forma e la profondità dell'albero compilata in un particolare modello dipendono dal metodo di assegnazione dei punteggi e da altri parametri usati. Le modifiche apportate ai parametri possono influire anche sulla posizione di divisione dei nodi.
Costruzione dell'albero
Quando l'algoritmo Microsoft Decision Trees crea il set di possibili valori di input, esegue la selezione delle caratteristiche per identificare gli attributi e i valori che forniscono la maggior parte delle informazioni e rimuove dalla considerazione i valori molto rari. L'algoritmo raggruppa anche i valori in contenitori per creare raggruppamenti di valori che possono essere elaborati come unità per ottimizzare le prestazioni.
Un albero viene costruito determinando le correlazioni tra un input e il risultato mirato. Dopo che tutti gli attributi sono stati correlati, l'algoritmo identifica il singolo attributo che separa in modo più pulito i risultati. Questo punto della separazione migliore viene misurato usando un'equazione che calcola il guadagno delle informazioni. L'attributo con il punteggio migliore per il guadagno di informazioni viene usato per dividere i case in subset, che vengono quindi analizzati in modo ricorsivo dallo stesso processo, fino a quando l'albero non può essere diviso più.
L'equazione esatta usata per valutare il guadagno delle informazioni dipende dai parametri impostati al momento della creazione dell'algoritmo, dal tipo di dati della colonna stimabile e dal tipo di dati dell'input.
Input discreti e continui
Quando l'attributo stimabile è discreto e gli input sono discreti, contare i risultati per ogni input è una questione di creazione di una matrice e generazione di punteggi per ogni cella nella matrice.
Tuttavia, quando l'attributo stimabile è discreto e gli input sono continui, l'input delle colonne continue viene discretizzato automaticamente. È possibile accettare l'impostazione predefinita e fare in modo che Analysis Services trovi il numero ottimale di contenitori oppure è possibile controllare il modo in cui gli input continui vengono discretizzati impostando le DiscretizationMethod proprietà e DiscretizationBucketCount . Per altre informazioni, vedere Modificare la discretizzazione di una colonna in un modello di data mining.
Per gli attributi continui, l'algoritmo usa la regressione lineare per determinare la posizione di divisione di un albero delle decisioni.
Quando l'attributo stimabile è un tipo di dati numerici continui, la selezione delle funzionalità viene applicata anche agli output, per ridurre il numero possibile di risultati e compilare il modello più velocemente. È possibile modificare la soglia per la selezione delle funzionalità e quindi aumentare o diminuire il numero di valori possibili impostando il parametro MAXIMUM_OUTPUT_ATTRIBUTES.
Per una spiegazione più dettagliata sul funzionamento dell'algoritmo Microsoft Decision Trees con colonne prevedibili discrete, vedere Learning Bayesian Networks: The Combination of Knowledge and Statistical Data. Per altre informazioni sul funzionamento dell'algoritmo Microsoft Decision Trees con una colonna stimabile continua, vedere l'appendice dei modelli di albero autoregressivo per l'analisi Time-Series.
Metodi di assegnazione dei punteggi e selezione delle funzionalità
L'algoritmo Microsoft Decision Trees offre tre formule per il calcolo del guadagno di informazione: entropia di Shannon, rete bayesiana con priori K2, e rete bayesiana con una distribuzione uniforme di Dirichlet dei priori. Tutti e tre i metodi sono ben definiti nel campo di data mining. È consigliabile sperimentare diversi parametri e metodi di assegnazione dei punteggi per determinare quali sono i risultati migliori. Per altre informazioni su questi metodi di assegnazione dei punteggi, vedere Selezione delle funzionalità.
Tutti gli algoritmi di data mining di Analysis Services usano automaticamente la selezione delle funzionalità per migliorare l'analisi e ridurre il carico di elaborazione. Il metodo utilizzato per la selezione delle funzionalità dipende dall'algoritmo usato per compilare il modello. I parametri dell'algoritmo che controllano la selezione delle funzionalità per un modello di albero delle decisioni sono MAXIMUM_INPUT_ATTRIBUTES e MAXIMUM_OUTPUT.
| Algoritmo | Metodo di analisi | Commenti |
|---|---|---|
| Alberi delle decisioni | Punteggio di interesse Entropia di Shannon Bayesian con K2 Prior Bayesian Dirichlet con precedente uniforme (impostazione predefinita) |
Se le colonne contengono valori continui non binari, il punteggio di interesse viene usato per tutte le colonne per garantire la coerenza. In caso contrario, viene utilizzato il metodo predefinito o specificato. |
| Linear Regression (Regressione lineare) | Punteggio di interesse | La regressione lineare utilizza solo l'interessanza, perché supporta solo colonne continue. |
Scalabilità e prestazioni
La classificazione è una strategia di data mining importante. In genere, la quantità di informazioni necessarie per classificare i case aumenta in proporzione diretta al numero di record di input. Ciò limita le dimensioni dei dati che possono essere classificati. L'algoritmo Microsoft Decision Trees che usa i metodi seguenti per risolvere questi problemi, migliorare le prestazioni ed eliminare le restrizioni di memoria:
Selezione delle funzionalità per ottimizzare la selezione degli attributi.
Punteggio bayesiano per controllare la crescita dell'albero.
Ottimizzazione del binning per gli attributi continui.
Raggruppamento dinamico dei valori di input per determinare i valori più importanti.
L'algoritmo Microsoft Decision Trees è veloce e scalabile ed è stato progettato per essere facilmente parallelizzato, ovvero tutti i processori interagiscono per creare un singolo modello coerente. La combinazione di queste caratteristiche rende il classificatore di albero delle decisioni uno strumento ideale per il data mining.
Se i vincoli di prestazioni sono gravi, è possibile migliorare il tempo di elaborazione durante il training di un modello di albero delle decisioni usando i metodi seguenti. Tuttavia, se si esegue questa operazione, tenere presente che l'eliminazione degli attributi per migliorare le prestazioni di elaborazione modificherà i risultati del modello e possibilmente renderlo meno rappresentativo della popolazione totale.
Aumentare il valore del parametro COMPLEXITY_PENALTY per limitare la crescita dell'albero.
Limitare il numero di elementi nei modelli di associazione per ridurre il numero di alberi creati.
Aumentare il valore del parametro MINIMUM_SUPPORT per evitare l'overfitting.
Limitare il numero di valori discreti per qualsiasi attributo a 10 o meno. È possibile provare a raggruppare i valori in modi diversi in modelli diversi.
Annotazioni
È possibile usare gli strumenti di esplorazione dei dati disponibili in SQL Server 2014 Integration Services (SSIS) per visualizzare la distribuzione dei valori nei dati e raggruppare i valori in modo appropriato prima di iniziare il data mining. Per ulteriori informazioni, consultare Task di Profilatura dei Dati e Visualizzatore. È anche possibile utilizzare i componenti aggiuntivi data mining per Excel 2007 per esplorare, raggruppare e etichettare i dati in Microsoft Excel.
Personalizzazione dell'algoritmo Decision Trees
L'algoritmo Microsoft Decision Trees supporta parametri che influiscono sulle prestazioni e sull'accuratezza del modello di data mining risultante. È anche possibile impostare flag di modellazione nelle colonne del modello di data mining o nelle colonne della struttura di data mining per controllare la modalità di elaborazione dei dati.
Annotazioni
L'algoritmo Microsoft Decision Trees è disponibile in tutte le edizioni di SQL Server; Tuttavia, alcuni parametri avanzati per personalizzare il comportamento dell'algoritmo Microsoft Decision Trees sono disponibili solo in edizioni specifiche di SQL Server. Per un elenco delle funzionalità supportate dalle edizioni di SQL Server, vedere Funzionalità supportate dalle edizioni di SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).
Impostazione dei parametri dell'algoritmo
La tabella seguente descrive i parametri che è possibile usare con l'algoritmo Microsoft Decision Trees.
PENALE PER LA COMPLESSITÀ
Controlla la crescita dell'albero delle decisioni. Un valore basso aumenta il numero di divisioni e un valore elevato riduce il numero di divisioni. Il valore predefinito si basa sul numero di attributi per un determinato modello, come descritto nell'elenco seguente:
Per gli attributi da 1 a 9, il valore predefinito è 0,5.
Per gli attributi da 10 a 99, il valore predefinito è 0,9.
Per 100 o più attributi, il valore predefinito è 0,99.
FORCE_REGRESSOR
Forza l'algoritmo a usare le colonne specificate come regreditori, indipendentemente dall'importanza delle colonne calcolate dall'algoritmo. Questo parametro viene usato solo per gli alberi delle decisioni che prevedono un attributo continuo.
Annotazioni
Impostando questo parametro, si forza l'algoritmo a provare a usare l'attributo come regressore. Tuttavia, se l'attributo viene effettivamente usato come regressore nel modello finale dipende dai risultati dell'analisi. È possibile individuare le colonne usate come regreditori eseguendo query sul contenuto del modello.
[Disponibile solo in alcune edizioni di SQL Server ]
MAXIMUM_INPUT_ATTRIBUTES
Definisce il numero di attributi di input che l'algoritmo può gestire prima di richiamare la selezione delle funzionalità.
Il valore predefinito è 255.
Impostare questo valore su 0 per disattivare la selezione delle funzionalità.
[Disponibile solo in alcune edizioni di SQL Server]
MAXIMUM_OUTPUT_ATTRIBUTES
Definisce il numero di attributi di output che l'algoritmo può gestire prima di richiamare la selezione delle funzionalità.
Il valore predefinito è 255.
Impostare questo valore su 0 per disattivare la selezione delle funzionalità.
[Disponibile solo in alcune edizioni di SQL Server]
MINIMUM_SUPPORT
Determina il numero minimo di casi foglia necessario per generare una suddivisione nell'albero delle decisioni.
L'impostazione predefinita è 10.
Potrebbe essere necessario aumentare questo valore se il set di dati è molto grande, per evitare l'overtraining.
SCORE_METHOD
Determina il metodo utilizzato per calcolare il punteggio di divisione. Sono disponibili le opzioni seguenti:
| Documento d'identità | Nome |
|---|---|
| 1 | Entropia |
| 3 | Bayesian con K2 Prior |
| 4 | Equivalente di Dirichlet Bayesiano (BDE) con priori uniforme (predefinito) |
Il valore predefinito è 4 o BDE.
Per una spiegazione di questi metodi di assegnazione dei punteggi, vedere Selezione delle funzionalità.
METODO_DIVISIONE
Determina il metodo utilizzato per suddividere il nodo. Sono disponibili le opzioni seguenti:
| Documento d'identità | Nome |
|---|---|
| 1 | Binario: Indica che, indipendentemente dal numero effettivo di valori per l'attributo, l'albero deve essere suddiviso in due rami. |
| 2 | Completo: Indica che l'albero può creare tante divisioni quanti sono i valori degli attributi. |
| 3 | Ambedue: Specifica che Analysis Services può determinare se utilizzare una divisione binaria o completa per ottenere i risultati migliori. |
Il valore predefinito è 3.
Indicatori di modellazione
L'algoritmo Microsoft Decision Trees supporta i flag di modellazione seguenti. Quando si crea la struttura di data mining o il modello di data mining, si definiscono indicatori di modellazione per specificare il modo in cui vengono gestiti i valori in ogni colonna durante l'analisi. Per ulteriori informazioni, vedere Indicatori di modellazione (Data Mining).
| Indicatore di modellazione | Descrizione |
|---|---|
| MODEL_EXISTENCE_ONLY | Significa che la colonna verrà considerata come con due possibili stati: Missing e Existing. Un valore Null è un valore mancante.Si applica alle colonne del modello di mining. |
| NON NULLO | Indica che la colonna non può contenere un valore Null. Se Analysis Services rileva un valore Null durante il training del modello, verrà generato un errore. Si applica alle colonne della struttura di mining. |
Regreditori nei modelli di albero delle decisioni
Anche se non si usa l'algoritmo Microsoft Linear Regression, qualsiasi modello di albero delle decisioni con input numerici continui e output può potenzialmente includere nodi che rappresentano una regressione su un attributo continuo.
Non è necessario specificare che una colonna di dati numerici continui rappresenta un regressore. L'algoritmo Microsoft Decision Trees userà automaticamente la colonna come potenziale regressore e partizionerà il set di dati in aree con modelli significativi anche se non si imposta il flag REGRESSOR nella colonna.
Tuttavia, è possibile usare il parametro FORCE_REGRESSOR per garantire che l'algoritmo userà un particolare regressore. Questo parametro può essere usato solo con gli algoritmi Microsoft Decision Trees e Microsoft Linear Regression. Quando si imposta il flag di modellazione, l'algoritmo tenterà di trovare equazioni di regressione del formato a*C1 + b*C2 + ... per adattare i modelli nei nodi dell'albero. La somma dei residui viene calcolata e, se la deviazione è troppo grande, viene forzata una divisione nell'albero.
Ad esempio, se si stima il comportamento di acquisto dei clienti usando Income come attributo e si imposta il flag di modellazione REGRESSOR nella colonna, l'algoritmo tenterà innanzitutto di adattare i valori Income usando una formula di regressione standard. Se la deviazione è troppo grande, la formula di regressione viene abbandonata e l'albero verrà suddiviso su un altro attributo. L'algoritmo dell'albero delle decisioni tenterà quindi di adattare un regressore per il reddito in ognuno dei rami dopo la divisione.
Requisiti
Un modello di albero delle decisioni deve contenere una colonna chiave, colonne di input e almeno una colonna stimabile.
Colonne di input e prevedibili
L'algoritmo Microsoft Decision Trees supporta le colonne di input specifiche e le colonne stimabili elencate nella tabella seguente. Per altre informazioni sui tipi di contenuto usati in un modello di data mining, vedere Tipi di contenuto (data mining).
| colonna | Tipi di contenuto |
|---|---|
| Attributo di input | Continuo, Ciclico, Discreto, Discretizzato, Chiave, Ordinato, Tabella |
| Attributo prevedibile | Continuo, Ciclico, Discreto, Discretizzato, Ordinato, Tabella |
Annotazioni
I tipi di contenuto ciclici e ordinati sono supportati, ma l'algoritmo li considera come valori discreti e non esegue un'elaborazione speciale.
Vedere anche
Algoritmo degli Alberi Decisionali di Microsoft
Esempi di query sul modello Decision Trees
Contenuto del modello di data mining per i modelli di albero delle decisioni (Analysis Services - Data mining)