Metodi di discretizzazione (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.

Alcuni algoritmi usati per creare modelli di data mining in SQL Server SQL Server Analysis Services richiedono tipi di contenuto specifici per funzionare correttamente. Ad esempio, l'algoritmo Microsoft Naive Bayes non può usare colonne continue come input e non può prevedere valori continui. Alcune colonne, inoltre, possono contenere un numero talmente elevato di valori da impedire all'algoritmo di identificare con facilità schemi significativi nei dati, in base ai quali creare un modello.

In tali casi, è possibile discretizzare i dati nelle colonne in modo da poter utilizzare gli algoritmi per generare un modello di data mining. Perdiscretizzazione si intende il processo di raggruppamento in bucket dei valori, in modo da limitare il numero di stati possibili. I bucket stessi vengono considerati come valori ordinati e discreti. È possibile discretizzare sia colonne numeriche che colonne stringa.

Esistono vari metodi per discretizzare i dati, Se la soluzione di data mining usa dati relazionali, è possibile controllare il numero di bucket da usare per il raggruppamento dei dati impostando il valore della proprietà DiscretizationBucketCount . Il numero predefinito di bucket è 5.

Se la soluzione di data mining usa i dati provenienti da un cubo OLAP (Online Analytical Processing), l'algoritmo di data mining calcola automaticamente il numero di bucket da generare usando l'equazione seguente, dove n è il numero di valori Distinct di dati nella colonna:

Number of Buckets = sqrt(n)

Se non si vuole SQL Server Analysis Services calcolare il numero di bucket, è possibile usare la DiscretizationBucketCount proprietà per specificare manualmente il numero di bucket.

La tabella seguente descrive i metodi che è possibile usare per discretizzare i dati in SQL Server Analysis Services.

Metodo di discretizzazione Descrizione
AUTOMATICO SQL Server Analysis Services determina il metodo di discretizzazione da usare.
CLUSTER L'algoritmo suddivide i dati in gruppi eseguendo il campionamento dei dati di training, l'inizializzazione su un numero di punti casuali e quindi diverse iterazioni dell'algoritmo Microsoft Clustering tramite il metodo di clustering EM (Expectation Maximization). Il metodo CLUSTERS è utile perché è valido per qualsiasi curva di distribuzione, ma richiede tempi di elaborazione più lunghi rispetto agli altri metodi di discretizzazione.

È possibile utilizzare tale metodo solo per le colonne numeriche.
EQUAL_AREAS L'algoritmo suddivide i dati in gruppi che contengono lo stesso numero di valori. Questo metodo è particolarmente appropriato per le curve di distribuzione normali, ma non consente di ottenere risultati attendibili se la distribuzione include un numero elevato di valori che appartengono a un gruppo ristretto all'interno dei dati continui. Se ad esempio metà degli elementi ha un costo 0, metà dei dati corrisponderà a un singolo punto della curva. In tale distribuzione, questo metodo suddivide i dati in modo da stabilire una discretizzazione uguale in più aree, generando una rappresentazione non corretta dei dati.

Commenti

  • Per discretizzare le stringhe, è possibile usare il metodo EQUAL_AREAS .

  • Per discretizzare i dati, il metodo CLUSTERS usa un campione casuale di 1000 record. Se si vuole evitare che l'algoritmo esegua il campionamento dei dati, usare il metodo EQUAL_AREAS .

Vedere anche

Tipi di contenuto (Data mining)
Tipi di contenuto (DMX)
Algoritmi di data mining (Analysis Services - Data mining)
Strutture di data mining (Analysis Services – Data mining)
Tipi di dati (data mining)
Colonne della struttura di data mining
Distribuzioni delle colonne (Data mining)