Metodi di discretizzazione (data mining)
Per il corretto funzionamento di alcuni algoritmi utilizzati per la creazione dei modelli di data mining in SQL Server Analysis Services sono necessari tipi di contenuto specifici. L'algoritmo Microsoft Naive Bayes, ad esempio, non può utilizzare colonne continue come input, né stimare 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. Per discretizzazione si intende il processo di raggruppamento in bucket dei valori di un set continuo di dati, 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 utilizza dati relazionali, è possibile controllare il numero di bucket da utilizzare per il raggruppamento dei dati impostando il valore della proprietà DiscretizationBucketCount. Il numero predefinito di bucket è 5.
Se la soluzione di data mining utilizza dati da un cubo OLAP (Online Analytical Processing), l'algoritmo di data mining calcola automaticamente il numero di bucket da generare tramite l'equazione seguente, dove n è il numero di valori distinct di dati nella colonna:
Number of Buckets = sqrt(n)
Se si desidera evitare che il numero di bucket venga calcolato automaticamente da Analysis Services, è possibile utilizzare la proprietà DiscretizationBucketCount per specificare manualmente tale numero.
Nella tabella seguente vengono descritti i metodi che è possibile utilizzare per la discretizzazione dei dati in Analysis Services.
Metodo di discretizzazione |
Descrizione |
---|---|
AUTOMATIC |
Analysis Services determina il metodo di discretizzazione da utilizzare. |
CLUSTERS |
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 in quanto è 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. |
Osservazioni
Per discretizzare le stringhe, è possibile utilizzare il metodo EQUAL_AREAS.
Per discretizzare i dati, il metodo CLUSTERS utilizza un campione casuale di 1000 record. Se si desidera evitare che l'algoritmo esegua il campionamento dei dati, utilizzare il metodo EQUAL_AREAS.
Nell'esercitazione relativa al modello di data mining di rete neurale viene descritto il modo in cui la discretizzazione può essere personalizzata. Per ulteriori informazioni, vedere Lezione 5: Creazione dei modelli di rete neurale e di regressione logistica (Esercitazione intermedia sul data mining).
Vedere anche