Selezione delle caratteristiche (Data mining)
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.
Laselezione delle caratteristiche è una parte importante del Machine Learning. La selezione delle caratteristiche si riferisce al processo di riduzione degli input per l'elaborazione e l'analisi o di individuazione degli input più significativi. Un termine correlato, progettazione delle caratteristiche (o estrazione delle caratteristiche), si riferisce al processo di estrazione di informazioni o caratteristiche utili dai dati esistenti.
Perché eseguire la selezione delle caratteristiche?
La selezione delle caratteristiche è fondamentale per la creazione di un modello funzionale per diversi motivi. Una è che la selezione delle caratteristiche implica un certo grado di riduzione della cardinalità, per imporre un cutoff al numero di attributi che possono essere considerati durante la compilazione di un modello. I dati contengono quasi sempre più informazioni di quelle necessarie per creare il modello oppure il tipo di informazioni sbagliate. Ad esempio, in un set di dati potrebbero essere contenute 500 colonne in cui vengono descritte le caratteristiche dei clienti. Tuttavia, se i dati di alcune colonne sono di tipo sparse, non sarebbe molto vantaggioso aggiungerli al modello e, se alcune colonne sono duplicate tra loro, l'uso di entrambe le colonne potrebbe influire negativamente sul modello.
Non solo la selezione delle caratteristiche migliora la qualità del modello, ma rende anche più efficiente il processo di modellazione. Se si usano 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 nei casi in cui le risorse non rappresentano un problema, è comunque preferibile eseguire la selezione delle caratteristiche e identificare le colonne più appropriate, perché le colonne non necessarie possono peggiorare la qualità del modello in diversi modi:
I dati poco significativi o ridondanti rendono più difficile individuare modelli significativi.
Se il set di dati è di dimensioni elevate, la maggior parte degli algoritmi di data mining richiede un set di dati di training di dimensioni molto maggiori.
Durante il processo di selezione delle caratteristiche, l'analista o lo strumento o l'algoritmo di modellazione seleziona o elimina attivamente gli attributi in base alla loro utilità per l'analisi. Gli analisti possono eseguire la progettazione delle caratteristiche per aggiungere caratteristiche e rimuovere o modificare i dati esistenti, mentre l'algoritmo di Machine Learning in genere assegna punteggi alle colonne e convalida la loro utilità nel modello.
In breve, la selezione delle caratteristiche consente di risolvere due problemi: la presenza di una quantità eccessiva di dati di scarso valore o di una quantità ridotta di dati di valore elevato. L'obiettivo della selezione delle caratteristiche deve essere identificare il numero minimo di colonne dell'origine dati che sono significative per la creazione di un modello.
Funzionamento della selezione delle caratteristiche in Data Mining di SQL Server
La selezione delle caratteristiche viene sempre eseguita prima del training del modello. Con alcuni algoritmi, le tecniche di selezione delle caratteristiche sono "predefinite", in modo da escludere le colonne irrilevanti e individuare automaticamente le migliori caratteristiche. Ogni algoritmo dispone di un proprio set di tecniche predefinite per applicare in modo intelligente la riduzione delle caratteristiche. Tuttavia, è anche possibile impostare manualmente i parametri per influire sul comportamento della selezione delle caratteristiche.
Durante la selezione automatica delle caratteristiche, viene calcolato un punteggio per ogni attributo e vengono selezionati solo gli attributi con i punteggi migliori per il modello. Inoltre, è possibile regolare la soglia per i punteggi massimi. SQL Server data mining fornisce più metodi per calcolare questi punteggi e il metodo esatto applicato in qualsiasi modello dipende da questi fattori:
Algoritmo utilizzato nel modello
Tipo di dati dell'attributo
Qualsiasi parametro che potrebbe essere stato impostato sul modello
La selezione delle caratteristiche viene applicata agli input, agli attributi stimabili oppure agli stati di una colonna. Quando il calcolo del punteggio per la selezione delle caratteristiche è terminato, nel processo di compilazione del modello vengono inclusi solo gli attributi e gli stati selezionati dall'algoritmo, che possono essere utilizzati per eventuali stime. Se si sceglie un attributo stimabile che non soddisfa la soglia per la selezione delle caratteristiche, l'attributo può comunque essere utilizzato per le stime, tuttavia queste ultime saranno basate unicamente sulle statistiche globali presenti nel modello.
Nota
La selezione delle caratteristiche 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.
Punteggi per la selezione delle caratteristiche
SQL Server data mining supporta questi metodi noti e consolidati per l'assegnazione di punteggi agli attributi. Lo specifico metodo usato in un particolare algoritmo o set di dati dipende dai tipi di dati e dall'uso delle colonne.
Il punteggio di interesse viene usato per classificare e ordinare gli attributi in colonne che contengono dati numerici continui non binari.
L'entropia di Shannon e due punteggi Bayes sono disponibili per le colonne contenenti dati discreti e discretizzati. Tuttavia, se nel modello sono contenute colonne continue, il punteggio di interesse verrà utilizzato per valutare tutte le colonne di input e assicurare la coerenza.
Punteggio di interesse
Una caratteristica è interessante se indica informazioni utili. L' interesse , tuttavia, può essere misurato in diversi modi. L'originalità potrebbe essere utile 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 data mining è basata sull'entropia, ovvero gli attributi con distribuzioni casuali hanno un'entropia superiore e un guadagno di informazioni inferiore, pertanto tali attributi 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 caratteristiche. 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
SQL Server data mining fornisce due punteggi di selezione delle funzionalità basati sulle reti Bayesian. 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.
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 Se A allora B è uguale al punteggio di Se B allora A, non è possibile distinguere le strutture in base ai dati e non è possibile derivare il rapporto di causa ed effetto.
Metodi di selezione delle caratteristiche per algoritmo
Nella tabella seguente sono elencati gli algoritmi che supportano la caratteristica di selezione degli attributi, i metodi utilizzati dall'algoritmo e i parametri impostati per controllare il funzionamento di questa caratteristica:
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 Naive Bayes accetta solo attributi discreti o discretizzati, non può utilizzare il punteggio di interesse. Per altre informazioni su questo algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Naive Bayes. |
Alberi delle decisioni | 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 caratteristica di selezione degli attributi predefinito oppure il metodo specificato quando è stato creato il modello. Per altre informazioni su questo algoritmo, vedere Guida di 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) |
Nell'algoritmo Microsoft Neural Network possono essere utilizzati sia i metodi Bayes sia quelli basati sull'entropia, purché nei dati siano contenute colonne continue. Per altre 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 caratteristica di selezione degli attributi. Di conseguenza tale caratteristica viene impostata automaticamente sempre sul metodo più appropriato per l'attributo. Se tutti gli attributi sono discreti o discretizzati, l'impostazione predefinita è BDEU. Per altre 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 altre 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 altre informazioni su questo algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Linear Regression. |
Regole di associazione Sequence Clustering |
Non usato | La caratteristica 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 altre informazioni, vedere Riferimento tecnico per l'algoritmo Microsoft Association Rules e Riferimento tecnico per l'algoritmo Microsoft Sequence Clustering. |
Serie temporale | Non usato | La selezione delle caratteristiche non si applica ai modelli Time Series. Per altre informazioni su questo algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Time Series. |
Parametri della selezione delle caratteristiche
Negli algoritmi che supportano la selezione delle caratteristiche è possibile controllare quando tale selezione è abilitata tramite i parametri riportati di seguito. In ogni algoritmo è disponibile un valore predefinito per il numero di input consentiti; tuttavia è possibile eseguire l'override di questo valore predefinito e specificare il numero di attributi. In questa sezione sono elencati i parametri forniti per la gestione della selezione delle caratteristiche.
MAXIMUM_INPUT_ATTRIBUTES
Se in un modello è contenuto 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 usati meno di frequente vengono raggruppati e considerati mancanti. Se uno di questi parametri è impostato su 0, la selezione delle caratteristiche viene disabilitata con relativo impatto sui tempi di elaborazione e sulle prestazioni.
Oltre a questi metodi per la selezione delle caratteristiche, è possibile migliorare la capacità dell'algoritmo di identificare o promuovere attributi significativi impostando i flag di modellazione sul modello oppure i flag di distribuzione sulla struttura. Per altre informazioni su questi concetti, vedere Modellazione di flag (data mining) e distribuzioni di colonne (data mining).