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 sospeso 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 che creano modelli di data mining in SQL Server SQL Server Analysis Services richiedono tipi di contenuto specifici per funzionare correttamente. Ad esempio, l'algoritmo Naive Bayes Microsoft non può usare colonne continue come input e non può stimare i valori continui. Inoltre, alcune colonne contengono così tanti valori da cui l'algoritmo non è in grado di identificare facilmente modelli interessanti nei dati da cui creare un modello.

In questi casi, è possibile discretizzare i dati nelle colonne per consentire l'uso degli algoritmi per produrre un modello di data mining. La discretizzazione è il processo di inserimento dei valori in bucket in modo da includere un numero limitato di stati possibili. I bucket stessi vengono considerati come valori ordinati e discreti. È possibile discretizzare sia le colonne numeriche che le colonne stringa.

Sono disponibili diversi 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 DiscretizationBucketCount proprietà . Il numero predefinito di bucket è 5.

Se la soluzione di data mining usa i dati di 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 distinti di dati nella colonna:

Number of Buckets = sqrt(n)

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

Nella tabella seguente vengono descritti i metodi che è possibile usare per discretizzare i dati in SQL Server Analysis Services.

Metodo di discretizzazione Description
AUTOMATICO SQL Server Analysis Services determina il metodo di discretizzazione da usare.
CLUSTER L'algoritmo divide i dati in gruppi eseguendo il campionamento dei dati di training, l'inizializzazione in diversi punti casuali e quindi l'esecuzione di diverse iterazioni dell'algoritmo Microsoft Clustering usando il metodo di clustering Expectation Maximization (EM). Il metodo CLUSTERS è utile perché funziona su qualsiasi curva di distribuzione. Tuttavia, richiede più tempo di elaborazione rispetto agli altri metodi di discretizzazione.

Questo metodo può essere usato solo con colonne numeriche.
EQUAL_AREAS L'algoritmo divide i dati in gruppi che contengono un numero uguale di valori. Questo metodo viene usato meglio per le curve di distribuzione normali, ma non funziona correttamente se la distribuzione include un numero elevato di valori in un gruppo ristretto nei dati continui. Ad esempio, se una metà degli elementi ha un costo pari a 0, metà dei dati si verifica sotto un singolo punto della curva. In una distribuzione di questo tipo, questo metodo suddivide i dati nel tentativo di stabilire una discretizzazione uguale in più aree. Questo processo produce una rappresentazione imprecisa dei dati.

Osservazioni:

  • Utilizzare il metodo EQUAL_AREAS per discretizzare le stringhe.

  • Il metodo CLUSTERS usa un campione casuale di 1.000 record per discretizzare i dati. Utilizzare il metodo EQUAL_AREAS se non si desidera che l'algoritmo campioni i dati.

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 estrazione
Distribuzione delle colonne (data mining)