Funzionalità di selezione degli attributi nel data mining
La funzionalità di selezione degli attributi è necessaria per qualsiasi prodotto di data mining poiché quando si crea un modello di data mining il set di dati contiene spesso più informazioni del necessario. Ad esempio, un set di dati potrebbe contenere 500 colonne che descrivono le caratteristiche dei clienti, di cui però solo 50 vengono effettivamente utilizzate per la definizione di un determinato modello. Se si mantengono le colonne non necessarie durante la creazione del modello, la quantità di CPU e memoria necessaria per il processo di training sarà maggiore, così come lo spazio di archiviazione richiesto per il modello completato.
Anche se le risorse non costituiscono un problema, è generalmente consigliabile rimuovere le colonne non necessarie che potrebbero avere un impatto negativo sulla qualità dei modelli individuati per i motivi seguenti:
Alcune colonne sono poco significative o ridondanti. In questo caso risulta più difficile individuare modelli significativi dai dati.
Per individuare modelli di qualità, la maggior parte degli algoritmi di data mining richiede un set di dati di training di dimensioni molto maggiori in set di dati di dimensioni elevate, ma i dati di training hanno dimensioni ridotte in alcune applicazioni di data mining.
La funzionalità di selezione degli attributi consente di risolvere il problema associato a una quantità eccessiva di dati di scarso valore o a una quantità ridotta di dati di valore elevato.
Funzionalità di selezione degli attributi nel data mining in Analysis Services
In genere la funzionalità di selezione degli attributi consente di calcolare un punteggio per ogni attributo, quindi di selezionare solo gli attributi con i punteggi migliori. È possibile regolare la soglia per i punteggi massimi. La funzionalità di selezione degli attributi viene sempre eseguita prima del training del modello per scegliere automaticamente gli attributi di un set di dati che hanno maggiori probabilità di essere utilizzati nel modello.
In SQL Server 2008 Analysis Services (SSAS) sono disponibili più metodi per implementare la funzionalità di selezione degli attributi. Il metodo esatto per la selezione degli attributi con il valore massimo dipende dall'algoritmo utilizzato nel modello e dagli eventuali parametri impostati nel modello. La funzionalità di selezione degli attributi viene applicata ai dati di input, agli attributi stimabili oppure agli stati di una colonna. Nel processo di definizione del modello vengono inclusi solo gli attributi e gli stati selezionati dall'algoritmo, che possono essere utilizzati per eventuali stime. Le colonne stimabili ignorate dalla funzionalità di selezione degli attributi vengono utilizzate per le stime, le quali tuttavia sono basate solo su statistiche globali presenti nel modello.
Nota La funzionalità di selezione degli attributi influisce solo sulle colonne utilizzate nel modello, mentre non ha effetto sull'archiviazione della struttura di data mining. Le colonne rimosse dal modello di data mining sono ancora disponibili nella struttura e i dati delle colonne della struttura di data mining verranno memorizzati nella cache.
Definizione di metodi per implementare la funzionalità di selezione degli attributi
È possibile implementare la funzionalità di selezione degli attributi in molti modi, a seconda del tipo di dati utilizzati e dell'algoritmo scelto per l'analisi. In SQL Server Analysis Services sono disponibili diversi metodi diffusi e consolidati per il punteggio degli attributi. Il metodo applicato in qualsiasi algoritmo o set di dati dipende dai tipi di dati e dall'utilizzo delle colonne.
Il punteggio di interesse viene utilizzato per classificare e ordinare gli attributi nelle colonne che contengono dati numerici continui non binari.
Per le colonne che contengono dati discreti e discretizzati, è possibile scegliere tra l'entropia di Shannon e due punteggi bayesiani. Se tuttavia il modello contiene colonne continue, verrà utilizzato il punteggio di interesse per valutare tutte le colonne di input, in modo da garantire coerenza.
In questa sezione viene descritto ogni metodo relativo alla funzionalità di selezione degli attributi.
Punteggio di interesse
Una funzionalità è interessante se indica informazioni utili. Poiché la definizione di ciò che è utile varia a seconda dello scenario, nel settore del data mining sono stati sviluppati diversi sistemi per la misurazione dell'interesse. Ad esempio, l'originalità potrebbe essere interessante nell'individuazione degli outlier, mentre la possibilità di discriminare tra elementi strettamente correlati, ovvero il peso discriminante, potrebbe essere più interessante per la classificazione.
La misura dell'interesse utilizzata in SQL Server Analysis Services è basata sull'entropia, ovvero gli attributi con distribuzioni casuali hanno un'entropia maggiore e un Information Gain minore. Tali attributi pertanto sono meno interessanti. L'entropia di un determinato attributo viene confrontata con quella di tutti gli altri attributi, come segue:
Interesse(Attributo) = - (m - Entropia(Attributo)) * (m - Entropia(Attributo))
Per entropia centrale, o m, si intende l'entropia dell'intero set di funzionalità. Sottraendo l'entropia dell'attributo di destinazione dall'entropia centrale, è possibile valutare la quantità di informazioni fornita dall'attributo.
Questo punteggio viene utilizzato per impostazione predefinita ogni volta che la colonna contiene dati numerici continui non binari.
Entropia di Shannon
L'entropia di Shannon misura l'incertezza di una variabile casuale per un determinato risultato. Ad esempio, l'entropia del lancio di una moneta può essere rappresentata come funzione della probabilità che esca testa.
In Analysis Services viene utilizzata la formula seguente per il calcolo dell'entropia di Shannon:
H(X) = -∑ P(xi) log(P(xi))
Questo metodo di assegnazione dei punteggi è disponibile per gli attributi discreti e discretizzati.
Bayes con probabilità a priori K2
In Analysis Services sono disponibili due punteggi della funzionalità di selezione degli attributi basati su reti Bayes. Una rete Bayes è un grafico orientato o aciclico di stati e di transizioni tra stati, ossia alcuni stati sono sempre precedenti allo stato corrente, alcuni sono successivi e il grafico non si ripete. Per definizione, le reti Bayes consentono l'utilizzo delle conoscenze precedenti. Tuttavia, la domanda in merito a quali stati precedenti utilizzare nel calcolo delle probabilità degli stati successivi è importante per la progettazione, le prestazioni e l'accuratezza dell'algoritmo.
L'algoritmo K2 per l'apprendimento di una rete Bayes, sviluppato da Cooper e Herskovits, viene utilizzato spesso nel data mining. È scalabile e consente di analizzare più variabili, ma richiede l'ordinamento delle variabili utilizzate come input. Per ulteriori informazioni, vedere Learning Bayesian Networks di Chickering, Geiger e Heckerman.
Questo metodo di assegnazione dei punteggi è disponibile per gli attributi discreti e discretizzati.
Equivalente Bayes Dirichlet con probabilità a priori a distribuzione uniforme
Anche per il punteggio equivalente Bayes Dirichlet (BDE, Bayesian Dirichlet Equivalent) si utilizza l'analisi bayesiana per valutare una rete dato un set di dati. Il metodo di assegnazione dei punteggi BDE, sviluppato da Heckerman, è basato sulla metrica BD sviluppata da Cooper e Herskovits. La distribuzione Dirichlet è una distribuzione multinomiale che descrive la probabilità condizionale di ogni variabile nella rete, oltre a includere molte proprietà utili per l'apprendimento.
Il metodo equivalente Bayes Dirichlet con probabilità a priori a distribuzione uniforme (BDEU, Bayesian Dirichlet Equivalent with Uniform Prior) presuppone un caso speciale della distribuzione Dirichlet in cui viene utilizzata una costante matematica per creare una distribuzione fissa o uniforme di stati precedenti. Il punteggio BDE presuppone anche un'equivalenza di probabilità, ossia non è possibile prevedere che i dati discriminino strutture equivalenti. In altri termini, se il punteggio di If A Then B è uguale al punteggio di If B Then A, non è possibile distinguere le strutture in base ai dati e non è possibile derivare il rapporto di causa ed effetto.
Per ulteriori informazioni sulle reti Bayes e sull'implementazione di questi metodi di assegnazione dei punteggi, vedere Learning Bayesian Networks.
Metodi per implementare la funzionalità di selezione degli attributi utilizzati dagli algoritmi di Analysis Services
Nella tabella seguente sono elencati gli algoritmi che supportano la funzionalità di selezione degli attributi, i metodi utilizzati dall'algoritmo e i parametri impostati per controllare il funzionamento di questa funzionalità:
Algoritmo |
Metodo di analisi |
Commenti |
---|---|---|
Naive Bayes |
Entropia di Shannon Bayes con probabilità a priori K2 Equivalente Bayes Dirichlet con probabilità a priori a distribuzione uniforme (impostazione predefinita) |
Poiché l'algoritmo Microsoft Naïve Bayes accetta solo attributi discreti o discretizzati, non può utilizzare il punteggio di interesse. Per ulteriori informazioni su questo algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Naive Bayes. |
Decision Trees |
Punteggio di interesse Entropia di Shannon Bayes con probabilità a priori K2 Equivalente Bayes Dirichlet con probabilità a priori a distribuzione uniforme (impostazione predefinita) |
Se esistono colonne contenenti valori continui non binari, viene utilizzato il punteggio di interesse per tutte le colonne, per assicurare coerenza. In caso contrario, viene utilizzato il metodo per implementare la funzionalità di selezione degli attributi predefinito oppure il metodo specificato quando è stato creato il modello. Per ulteriori informazioni su questo algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Decision Trees. |
Neural Network |
Punteggio di interesse Entropia di Shannon Bayes con probabilità a priori K2 Equivalente Bayes Dirichlet con probabilità a priori a distribuzione uniforme (impostazione predefinita) |
L'algoritmo Microsoft Neural Network può utilizzare entrambi i metodi, purché i dati contengano colonne continue. Per ulteriori informazioni su questo algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Neural Network. |
Logistic Regression |
Punteggio di interesse Entropia di Shannon Bayes con probabilità a priori K2 Equivalente Bayes Dirichlet con probabilità a priori a distribuzione uniforme (impostazione predefinita) |
Sebbene l'algoritmo Microsoft Logistic Regression sia basato sull'algoritmo Microsoft Neural Network, non è possibile personalizzare modelli di regressione logistica per controllare il comportamento della funzionalità di selezione degli attributi. Di conseguenza tale funzionalità viene impostata automaticamente sempre sul metodo più appropriato per l'attributo. Se tutti gli attributi sono discreti o discretizzati, l'impostazione predefinita è BDEU. Per ulteriori informazioni su questo algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Logistic Regression. |
Clustering |
Punteggio di interesse |
L'algoritmo Microsoft Clustering può utilizzare dati discreti o discretizzati. Tuttavia, perché il punteggio di ogni attributo è calcolato come una distanza e viene rappresentato come un numero continuo, è necessario utilizzare il punteggio di interesse. Per ulteriori informazioni su questo algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Clustering. |
Linear Regression |
Punteggio di interesse |
L'algoritmo Microsoft Linear Regression può utilizzare solo il punteggio di interesse, poiché supporta solo colonne continue. Per ulteriori informazioni su questo algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Linear Regression. |
Association Rules Sequence Clustering |
Non utilizzato |
La funzionalità di selezione degli attributi non viene richiamata da questi algoritmi. È tuttavia possibile controllare il comportamento dell'algoritmo e ridurre le dimensioni dei dati di input impostando i valori dei parametri MINIMUM_SUPPORT e MINIMUM_PROBABILIITY. Per ulteriori informazioni, vedere Riferimento tecnico per l'algoritmo Microsoft Association Rules e Riferimento tecnico per l'algoritmo Microsoft Sequence Clustering. |
Time Series |
Non utilizzato |
La funzionalità di selezione degli attributi non si applica ai modelli Time Series. Per ulteriori informazioni su questo algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Time Series. |
Controllo del comportamento della funzionalità di selezione degli attributi
Negli algoritmi che supportano la funzionalità di selezione degli attributi è possibile attivare tale funzionalità tramite i parametri riportati di seguito. Ogni algoritmo prevede un valore predefinito per il numero di input consentiti. È possibile eseguire l'override di questo valore predefinito e specificare il numero di attributi.
MAXIMUM_INPUT_ATTRIBUTES
Se un modello contiene un numero di colonne maggiore del numero specificato nel parametro MAXIMUM_INPUT_ATTRIBUTES, vengono ignorate le colonne che in base all'algoritmo non risultano di interesse.
MAXIMUM_OUTPUT_ATTRIBUTES
In modo analogo, se un modello contiene un numero di colonne stimabili maggiore del numero specificato nel parametro MAXIMUM_OUTPUT_ATTRIBUTES, vengono ignorate le colonne che in base all'algoritmo non risultano di interesse.
MAXIMUM_STATES
Se un modello contiene un numero di case maggiore del numero specificato nel parametro MAXIMUM_STATES, gli stati utilizzati meno di frequente vengono raggruppati e considerati mancanti. Se uno di questi parametri è impostato su 0, la funzionalità di selezione degli attributi viene disattivata. Ciò influisce sui tempi di elaborazione e sulle prestazioni.
Cronologia modifiche
Aggiornamento del contenuto |
---|
Il contenuto è stato riorganizzato per presentare innanzitutto le basi per la funzionalità di selezione degli attributi e successivamente per fornire dettagli sull'implementazione. Le impostazione predefinite sono state aggiornate per ogni tipo di modello. |
Sono stati aggiunti collegamenti agli argomenti di riferimento per ogni algoritmo. |
Vedere anche