Riferimento tecnico per l'algoritmo Microsoft Naive Bayes
L'algoritmo Microsoft Naive Bayes è un algoritmo di classificazione per la modellazione predittiva incluso in Microsoft SQL Server Analysis Services. L'algoritmo calcola la probabilità condizionale tra colonne di input e stimabili e presuppone che le colonne siano indipendenti. Il nome Naive Bayes deriva da questo presupposto di indipendenza.
Implementazione dell'algoritmo Microsoft Naive Bayes
Questo algoritmo include funzionalità di calcolo più semplici di quelle di altri algoritmi Microsoft e, pertanto, è utile per generare rapidamente i modelli di data mining al fine di individuare le relazioni tra colonne di input e colonne stimabili. L'algoritmo considera ogni coppia di valori di attributi di input e di output.
Una descrizione delle proprietà matematiche del teorema di Bayes va oltre l'ambito di questa documentazione. Per ulteriori informazioni, vedere l'articolo relativo alle informazioni sulle reti Bayesiane riguardanti la combinazione di conoscenza e dati statistici sul sito Microsoft Research.
Per una descrizione della modifica delle probabilità in tutti i modelli in modo da tenere conto dei potenziali valori mancanti, vedere Valori mancanti (Analysis Services - Data mining).
Caratteristica di selezione degli attributi
L'algoritmo Microsoft Naive Bayes esegue la selezione automatica delle caratteristiche per limitare il numero di valori considerati quando si compila il modello. Per ulteriori informazioni, vedere Caratteristica di selezione degli attributi nel data mining.
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) |
Naive Bayes accetta solo attributi discreti o discretizzati e non può pertanto utilizzare il punteggio di interesse. |
L'algoritmo è progettato per ridurre il tempo di elaborazione e selezionare in modo efficiente gli attributi di massima importanza; è tuttavia possibile controllare i dati utilizzati dall'algoritmo impostando i parametri nel modo seguente:
Per limitare i valori utilizzati come input, ridurre il valore di MAXIMUM_INPUT_ATTRIBUTES.
Per limitare il numero di attributi analizzati dal modello, ridurre il valore di MAXIMUM_OUTPUT_ATTRIBUTES.
Per limitare il numero di valori che possono essere presi in considerazione per qualsiasi attributo, ridurre il valore di MINIMUM_STATES.
Personalizzazione dell'algoritmo Microsoft Naive Bayes
L'algoritmo Microsoft Naive Bayes supporta vari parametri che influiscono sul comportamento, sulle prestazioni e sull'accuratezza del modello di data mining risultante. È anche possibile impostare flag di modellazione nelle colonne del modello per controllare la modalità di elaborazione dei dati o impostare flag nella struttura di data mining per specificare la modalità di gestione dei valori mancanti o Null.
Impostazione dei parametri dell'algoritmo
L'algoritmo Microsoft Naive Bayes supporta vari parametri che influiscono sulle prestazioni e sull'accuratezza del modello di data mining risultante. Nella tabella seguente viene descritto ogni parametro.
MAXIMUM_INPUT_ATTRIBUTES
Specifica il numero massimo di attributi di input che l'algoritmo è in grado di gestire prima di richiamare la caratteristica di selezione degli attributi. Se si imposta il valore 0, la caratteristica di selezione degli attributi di input viene disabilitata.Il valore predefinito è 255.
MAXIMUM_OUTPUT_ATTRIBUTES
Specifica il numero massimo di attributi di output che l'algoritmo è in grado di gestire prima di richiamare la caratteristica di selezione degli attributi. Se si imposta il valore 0, la caratteristica di selezione degli attributi di output viene disabilitata.Il valore predefinito è 255.
MINIMUM_DEPENDENCY_PROBABILITY
Specifica la probabilità di dipendenza minima tra gli attributi di input e di output. Questo valore viene utilizzato per limitare le dimensioni del contenuto generato dall'algoritmo. Questa proprietà può essere impostata su un valore compreso tra 0 e 1. I valori maggiori determinano una riduzione del numero di attributi nel contenuto del modello.Il valore predefinito è 0,5.
MAXIMUM_STATES
Specifica il numero massimo di stati degli attributi supportati dall'algoritmo. Se il numero di stati di un attributo è maggiore del numero massimo, l'algoritmo utilizza gli stati più frequenti e considera gli stati rimanenti come mancanti.Il valore predefinito è 100.
Flag di modellazione
L'algoritmo Microsoft Decision Trees supporta i flag di modellazione seguenti. Quando si crea la struttura o il modello di data mining, i flag di modellazione vengono definiti per specificare la modalità di gestione dei valori presenti in ogni colonna durante l'analisi. Per ulteriori informazioni, vedere Flag di modellazione (data mining).
Flag di modellazione |
Descrizione |
---|---|
MODEL_EXISTENCE_ONLY |
Indica che la colonna verrà considerata come se presentasse due stati possibili, ovvero Missing ed Existing. Un valore Null è un valore mancante. Si applica alla colonna del modello di data mining. |
NOT NULL |
Indica che la colonna non può contenere un valore Null. Se Analysis Services rileva un valore Null durante il training del modello, viene restituito un errore. Si applica alla colonna della struttura di data mining. |
Requisiti
Un modello di albero Naive Bayes deve contenere una colonna chiave e almeno un attributo stimabile e un attributo di input. Nessun attributo può essere continuo. Se i dati contengono elementi numerici continui, vengono ignorati o discretizzati.
Colonne di input e stimabili
L'algoritmo Microsoft Naive Bayes supporta le colonne di input e le colonne stimabili specifiche riportate nella tabella seguente. Per ulteriori informazioni sul significato dei tipi di contenuto utilizzati in un modello di data mining, vedere Tipi di contenuto (Data mining).
Colonna |
Tipi di contenuto |
---|---|
Attributo di input |
Cyclical, Discrete, Discretized, Key, Table e Ordered |
Attributo stimabile |
Cyclical, Discrete, Discretized, Table e Ordered |
Nota
Sono supportati i tipi di contenuto Cyclical e Ordered ma l'algoritmo li considera come valori discreti e non esegue un'elaborazione speciale.