Contenuto dei modelli di data mining per i modelli Naive Bayes (Analysis Services - 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.

Questo argomento descrive il contenuto del modello di data mining specifico per i modelli che usano l'algoritmo Microsoft Naive Bayes. Per una spiegazione di come interpretare le statistiche e la struttura condivisa da tutti i tipi di modello e le definizioni generali dei termini correlati al contenuto del modello di data mining, vedere Contenuto del modello di data mining (Analysis Services - Data mining).

Informazioni sulla struttura di un modello Naive Bayes

La struttura di un modello Naive Bayes è data da un solo nodo padre, che rappresenta il modello e i metadati, e da un numero qualsiasi di alberi indipendenti che rappresentano gli attributi stimabili selezionati. Oltre agli alberi per gli attributi, ogni modello contiene un nodo delle statistiche marginali (NODE_TYPE = 26) che fornisce statistiche descrittive sul set di case di training. Per ulteriori informazioni, vedere Informazioni nel nodo delle statistiche marginali.

Per ogni valore e attributo stimabile, il modello restituisce un albero che contiene informazioni che descrivono come le varie colonne di input abbiano influito sul risultato di quel particolare attributo stimabile. Ogni albero contiene l'attributo stimabile e il relativo valore (NODE_TYPE = 9), oltre a una serie di nodi che rappresentano gli attributi di input (NODE_TYPE = 10). Poiché gli attributi di input dispongono in genere di più valori, ogni attributo di input (NODE_TYPE = 10) può disporre di più nodi figlio (NODE_TYPE = 11), ognuno per uno stato specifico dell'attributo.

Nota

Poiché un modello Naive Bayes non consente tipi di dati continui, tutti i valori delle colonne di input vengono considerati discreti o discretizzati. È possibile specificare il modo in cui un valore viene discretizzato. Per altre informazioni, vedere Modificare la discretizzazione di una colonna in un modello di data mining.

struttura del contenuto del modello per la struttura naïve bayes

Contenuto di un modello Naive Bayes

In questa sezione vengono forniti dettagli ed esempi relativi unicamente alle colonne del contenuto dei modelli di data mining particolarmente importanti per i modelli Naive Bayes.

Per informazioni sulle colonne per utilizzo generico nel set di righe dello schema, ad esempio MODEL_CATALOG e MODEL_NAME, che non sono descritte qui o per spiegazioni della terminologia del modello di data mining, vedere Contenuto del modello di data mining (Analysis Services - Data mining).

MODEL_CATALOG
Nome del database in cui è archiviato il modello.

MODEL_NAME
Nome del modello.

ATTRIBUTE_NAME
Nomi degli attributi che corrispondono a questo nodo.

Nodo radice del modello Nome dell'attributo stimabile.

Statistiche marginali Non applicabile

Attributo stimabile Nome dell'attributo stimabile.

Attributo di input Nome dell'attributo di input.

Stato attributo di input Nome del solo attributo di input. Per ottenere lo stato, utilizzare MSOLAP_NODE_SHORT_CAPTION.

NODE_NAME
Il nome del nodo.

In questa colonna è contenuto lo stesso valore di NODE_UNIQUE_NAME.

Per ulteriori informazioni sulle convenzioni di denominazione dei nodi, vedere Utilizzo dei nomi e degli ID dei nodi.

NODE_UNIQUE_NAME
Nome univoco del nodo. I nomi univoci vengono assegnati sulla base di una convenzione che fornisce informazioni sulle relazioni tra i nodi. Per ulteriori informazioni sulle convenzioni di denominazione dei nodi, vedere Utilizzo dei nomi e degli ID dei nodi.

NODE_TYPE
Un modello Naive Bayes restituisce i tipi di nodo seguenti:

ID tipo di nodo Descrizione
26 (NaiveBayesMarginalStatNode) Contiene statistiche che descrivono il set intero di case di training per il modello.
9 (Attributo stimabile) Contiene il nome dell'attributo stimabile.
10 (Attributo di input) Contiene il nome di una colonna dell'attributo di input e i nodi figlio che contengono i valori dell'attributo.
11 (Stato attributo di input) Contiene i valori o i valori discretizzati di tutti gli attributi di input abbinati a un particolare attributo di output.

NODE_CAPTION
Etichetta o didascalia associata al nodo. Questa proprietà viene utilizzata principalmente per scopi di visualizzazione.

Nodo radice del modello vuoto

Statistiche marginali vuote

Attributo stimabile Nome dell'attributo stimabile.

Attributo di input Nome dell'attributo stimabile e dell'attributo di input corrente. ad esempio

Acquirente di biciclette -> Età

Stato attributo di input Nome dell'attributo stimabile e dell'attributo di input corrente, più valore di input. ad esempio

Bike Buyer -> Age = Missing

CHILDREN_CARDINALITY
Numero di nodi figlio del nodo.

Nodo radice del modello Conteggio degli attributi stimabili nel modello più 1 per il nodo delle statistiche marginali.

Statistiche marginali Per definizione non dispongono di nodi figlio.

Attributo prevedibile Conteggio degli attributi di input correlati all'attributo stimabile corrente.

Attributo di input Conteggio dei valori discreti o discretizzati per l'attributo di input corrente.

Stato attributo di input Sempre 0.

PARENT_UNIQUE_NAME
Nome univoco del nodo padre. Per ulteriori informazioni sull'associazione di nodi padre e nodi figlio, vedere Utilizzo dei nomi e degli ID dei nodi.

NODE_DESCRIPTION
Equivale alla didascalia del nodo.

NODE_RULE
Rappresentazione XML della didascalia del nodo.

MARGINAL_RULE
Equivale alla regola del nodo.

NODE_PROBABILITY
Probabilità associata a questo nodo.

Nodo radice del modello Sempre 0.

Statistiche marginali Sempre 0.

Attributo prevedibile Sempre 1.

Attributo di input Sempre 1.

Stato attributo di input Numero decimale che rappresenta la probabilità del valore corrente. La somma dei valori di tutti gli stati dell'attributo di input sotto il nodo padre dell'attributo di input dà 1.

MARGINAL_PROBABILITY
Equivale alla probabilità del nodo.

NODE_DISTRIBUTION
Tabella contenente l'istogramma delle probabilità del nodo. Per altre informazioni, vedere Tabella NODE_DISTRIBUTION.

NODE_SUPPORT
Numero di case che supportano il nodo.

Nodo radice del modello Conteggio di tutti i case nei dati di training.

Statistiche marginali Sempre 0.

Attributo stimabile Conteggio di tutti i case nei dati di training.

Attributo di input Conteggio di tutti i case nei dati di training.

Stato attributo di input Conteggio dei case nei dati di training che contengono solo questo particolare valore.

MSOLAP_MODEL_COLUMN
Etichetta utilizzata a scopo di visualizzazione. Equivale in genere a ATTRIBUTE_NAME.

MSOLAP_NODE_SCORE
Rappresenta l'importanza dell'attributo o del valore all'interno del modello.

Nodo radice del modello Sempre 0.

Statistiche marginali Sempre 0.

Attributo stimabile Sempre 0.

Attributo di input Punteggio di interesse per l'attributo di input corrente in relazione all'attributo stimabile corrente.

Stato attributo di input Sempre 0.

MSOLAP_NODE_SHORT_CAPTION
Stringa di testo che rappresenta il nome o il valore di una colonna.

Radice del modello Vuoto

Statistiche marginali Vuoto

Attributo stimabile Nome dell'attributo stimabile.

Attributo di input Nome dell'attributo di input.

Stato attributo di input Valore o valore discretizzato dell'attributo di input.

Utilizzo dei nomi e degli ID dei nodi

La denominazione dei nodi in un modello Naive Bayes fornisce informazioni aggiuntive sul tipo di nodo, per rendere più facile la comprensione delle relazioni tra le informazioni nel modello. Nella tabella seguente viene illustrata la convenzione per gli ID assegnati a diversi tipi di nodo.

Tipo di nodo Convenzione per ID del nodo
Nodo radice del modello (1) Sempre 0.
Nodo delle statistiche marginali (26) Valore ID arbitrario.
Attributo stimabile (9) Numero esadecimale che inizia con 10000000

Esempio: 100000001, 10000000b
Attributo di input (10) Numero esadecimale in due parti dove la prima parte è sempre 20000000 e la seconda inizia con l'identificatore esadecimale dell'attributo stimabile correlato.

Esempio: 20000000b00000000

In questo caso, l'attributo stimabile correlato è 10000000b.
Stato attributo di input (11) Numero esadecimale in tre parti dove la prima parte è sempre 30000000, la seconda parte inizia con l'identificatore esadecimale dell'attributo stimabile correlato e la terza rappresenta l'identificatore del valore.

Esempio: 30000000b00000000200000000

In questo caso, l'attributo stimabile correlato è 10000000b.

È possibile utilizzare gli ID per correlare attributi di input e stati a un attributo stimabile. Ad esempio, la query seguente restituisce i nomi e le didascalie per nodi che rappresentano le possibili combinazioni di attributi di input e attributi stimabili per il modello, TM_NaiveBayes.

SELECT NODE_NAME, NODE_CAPTION  
FROM TM_NaiveBayes.CONTENT  
WHERE NODE_TYPE = 10  

Risultati previsti:

NODE_NAME NODE_CAPTION
20000000000000001 Bike Buyer -> distanza Tragitto casa/lavoro
20000000000000002 Bike Buyer -> English Education
20000000000000003 Bike Buyer -> English Occupation
20000000000000009 Bike Buyer -> Marital Status
2000000000000000a Bike Buyer -> Numero bambini a casa
2000000000000000b Bike Buyer -> Area geografica
2000000000000000c Bike Buyer -> Total Children

È quindi possibile utilizzare gli ID dei nodi padre per recuperare i nodi figlio. La query seguente recupera i nodi che contengono valori per l'attributo Marital Status , insieme alla probabilità di ciascun nodo.

SELECT NODE_NAME, NODE_CAPTION, NODE_PROBABILITY  
FROM TM_NaiveBayes.CONTENT  
WHERE NODE_TYPE = 11  
AND [PARENT_UNIQUE_NAME] = '20000000000000009'  

Nota

Il nome della colonna, PARENT_UNIQUE_NAME, deve essere racchiuso tra parentesi quadre per distinguerlo dalla parola chiave riservata con lo stesso nome.

Risultati previsti:

NODE_NAME NODE_CAPTION NODE_PROBABILITY
3000000000000000900000000 Bike Buyer -> Marital Status = Missing 0
3000000000000000900000001 Bike Buyer -> Marital Status = S 0,457504004
3000000000000000900000002 Bike Buyer -> Marital Status = M 0,542495996

Tabella NODE_DISTRIBUTION

La colonna della tabella nidificata, NODE_DISTRIBUTION, contiene in genere le statistiche sulla distribuzione dei valori nel nodo. In un modello Naive Bayes questa tabella viene popolata solo per i nodi seguenti:

Tipo di nodo Contenuto della tabella nidificata
Nodo radice del modello (1) Vuoto.
Nodo delle statistiche marginali (24) Contiene informazioni di riepilogo per tutti gli attributi stimabili e gli attributi di input, per l'intero set di dati di training.
Attributo stimabile (9) Vuoto.
Attributo di input (10) Vuoto.
Stato attributo di input (11) Contiene statistiche che descrivono la distribuzione di valori nei dati di training per questa particolare combinazione di un valore stimabile e di un valore dell'attributo di input.

È possibile utilizzare gli ID o le didascalie dei nodi per recuperare maggiori livelli di dettaglio. Ad esempio, la query seguente recupera colonne specifiche dalla tabella NODE_DISTRIBUTION solo per quei nodi dell'attributo di input correlati al valore, 'Marital Status = S'.

SELECT FLATTENED NODE_CAPTION,  
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT], [PROBABILITY], VALUETYPE  
FROM NODE_DISTRIBUTION) as t  
FROM TM_NaiveBayes.content  
WHERE NODE_TYPE = 11  
AND NODE_CAPTION = 'Bike Buyer -> Marital Status = S'  

Risultati previsti:

NODE_CAPTION T.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITY t.VALUETYPE
Bike Buyer -> Stato maritale = S Bike Buyer Missing 0 0 1
Bike Buyer -> Stato maritale = S Bike Buyer 0 3783 0,472934117 4
Bike Buyer -> Stato maritale = S Bike Buyer 1 4216 0,527065883 4

In questi risultati il valore della colonna SUPPORT suggerisce il conteggio di clienti con lo stato civile specificato che hanno acquistato una bicicletta. La colonna PROBABILITY contiene la probabilità di ogni valore dell'attributo, calcolato solo per questo nodo. Per le definizioni generali dei termini usati nella tabella NODE_DISTRIBUTION, vedere Contenuto del modello di data mining (Analysis Services - Data mining).

Informazioni nel nodo delle statistiche marginali

In un modello Naive Bayes la tabella nidificata per il nodo delle statistiche marginali contiene la distribuzione di valori per l'intero set di dati di training. Ad esempio, la tabella seguente contiene un elenco parziale delle statistiche della tabella NODE_DISTRIBUTION nidificata per il modello, TM_NaiveBayes:

ATTRIBUTE_NAME ATTRIBUTE_VALUE SUPPORT PROBABILITY variance VALUETYPE
Bike Buyer Missing 0 0 0 1
Bike Buyer 0 8869 0,507263784 0 4
Bike Buyer 1 8615 0,492736216 0 4
Marital Status Missing 0 0 0 1
Marital Status S 7999 0,457504004 0 4
Marital Status M 9485 0,542495996 0 4
Total Children Missing 0 0 0 1
Total Children 0 4865 0,278254404 0 4
Total Children 3 2093 0,119709449 0 4
Total Children 1 3406 0,19480668 0 4

La colonna [Bike Buyer] viene inclusa poiché il nodo delle statistiche marginali contiene sempre una descrizione dell'attributo stimabile e dei valori relativi possibili. Tutte le altre colonne elencate rappresentano attributi di input, insieme ai valori utilizzati nel modello. I valori possono solo essere mancanti, discreti o discretizzati.

In un modello Naive Bayes non possono essere presenti attributi continui, pertanto tutti i dati numerici vengono rappresentati come discreti (VALUE_TYPE = 4) o discretizzati (VALUE_TYPE = 5).

Un valore Missing (VALUE_TYPE = 1) viene aggiunto a ogni attributo di input e di output per rappresentare i valori potenziali che non erano presenti nei dati di training. È necessario prestare attenzione alla distinzione tra "mancante" riferito a una stringa e il valore Missing predefinito. Per altre informazioni, vedere Valori mancanti (Analysis Services - Data Mining).

Vedere anche

Mining Model Content (Analysis Services - Data Mining)
Visualizzatori modello di data mining
Query di data mining
Algoritmo Microsoft Naive Bayes