Flag di modellazione (data mining)

In SQL Server Analysis Services è possibile utilizzare flag di modellazione per fornire a un algoritmo di data mining informazioni aggiuntive sui dati definiti in una tabella del case. L'algoritmo può utilizzare tali informazioni per compilare un modello di data mining più accurato.

Per definire flag di modellazione a livello di codice, è possibile utilizzare DMX (Data Mining Extensions) o Progettazione modelli di data mining in Business Intelligence Development Studio. Per ulteriori informazioni sulla definizione di questi tag nelle istruzioni DMX, vedere Colonne del modello di data mining.

Alcuni flag di modellazione sono definiti al livello della struttura di data mining, mentre altri al livello della colonna del modello di data mining. Ad esempio, il flag di modellazione NOT NULL viene utilizzato con le colonne della struttura di data mining. È possibile definire flag di modellazione aggiuntivi nella colonna del modello di data mining.

Nell'elenco seguente sono descritti i flag di modellazione supportati in Analysis Services. Per informazioni sui flag di modellazione supportati da algoritmi specifici, vedere l'argomento di riferimento tecnico corrispondente.

  • NOT NULL
    Indica che i valori per la colonna attributo non devono mai contenere valori null. Se durante il processo di training del modello Analysis Services rileva un valore null per la colonna attributo, verrà generato un errore.

  • MODEL_EXISTENCE_ONLY
    Indica che la colonna verrà considerata come se disponesse di due stati: Missing e Existing. Se il valore è NULL, viene considerata come Missing.

    Nota

    Mancare è un stato speciale utilizzato dall'algoritmo e differisce dal valore di testo "Mancante" in una colonna. Per ulteriori informazioni, vedere Valori mancanti (Analysis Services - Data mining).

    Questo flag di modellazione viene tipicamente utilizzato per indicare gli attributi in cui lo stato NULL ha un significato implicito e il valore esplicito dello stato NOT NULL può essere meno importante del fatto che la colonna contenga un valore. Ad esempio, una colonna [DateContractSigned] potrebbe essere NULL se non è mai stato firmato un contratto e NOT NULL se il contratto è stato firmato. Pertanto, se lo scopo del modello è stimare se un contratto verrà firmato o meno, è possibile utilizzare il flag MODEL_EXISTENCE_ONLY per ignorare il valore esatto relativo alla data nei case NOT NULL e distinguere solo tra i case in cui il valore sia Missing o Existing.

  • REGRESSOR
    Indica che la colonna può essere utilizzata come regressore durante l'elaborazione. Questo flag è definito in una colonna del modello di data mining e può essere applicato solo alle colonne che contengono un tipo di dati numerico continuo. Per ulteriori informazioni sull'utilizzo di questo flag, vedere la sezione relativa di seguito in questo argomento.

Nota

È possibile che i plug-in di terze parti includano altri flag di modellazione, in aggiunta a quelli predefiniti in Analysis Services.

Visualizzazione e modifica dei flag di modellazione

In Progettazione modelli di data mining è possibile visualizzare e modificare i flag di modellazione associati a una struttura di data mining o a una colonna di data mining visualizzando le proprietà della struttura o del modello.

Per visualizzare o modificare il flag di modellazione per una colonna della struttura o una colonna del modello

  1. In BI Development Studio fare doppio clic sulla struttura di data mining in Esplora soluzioni.

  2. Per impostare il flag di modellazione NOT NULL, fare clic sulla scheda Struttura di data mining.

    Per impostare i flag REGRESSOR o MODEL_EXISTENCE_ONLY, fare clic sulla scheda Modello di data mining.

  3. Fare clic con il pulsante destro del mouse sulla colonna da visualizzare o modificare, quindi scegliere Proprietà.

  4. Per aggiungere un nuovo flag di modellazione, fare clic sulla casella di testo accanto alla proprietà ModelingFlags e selezionare le casella o le caselle di controllo relative ai flag di modellazione che si desidera utilizzare.

    I flag di modellazione vengono visualizzati solo se sono appropriati per il tipo di dati della colonna.

    Nota

    Dopo avere modificato un flag di modellazione, è necessario rielaborare il modello.

Non è possibile modificare i flag di modellazione utilizzati in un modello e in una struttura di data mining esistenti tramite DMX. È necessario creare un nuovo modello di data mining utilizzando la sintassi ALTER MINING STRUCTURE….ADD MINING MODEL.

In caso di dubbi sui flag di modellazione utilizzati nella struttura corrente, è possibile creare una query che restituisce i flag di modellazione utilizzando la sintassi seguente:

SELECT COLUMN_NAME, MODELING_FLAG
FROM $system.DMSCHEMA_MINING_STRUCTURE_COLUMNS
WHERE STRUCTURE_NAME = '<structure name>'

Utilizzo del flag di modellazione REGRESSOR

Quando si imposta il flag di modellazione REGRESSOR in una colonna, si indica all'algoritmo che la colonna contiene potenziali regressori. I regressore effettivi utilizzati nel modello sono determinati dall'algoritmo. Un regressore potenziale può essere ignorato se non modella l'attributo stimabile.

Quando si compila un modello utilizzando la Creazione guidata modello di data mining, tutte le colonne di input continue sono contrassegnate come possibili regressori. Pertanto, anche se il flag REGRESSOR non viene impostato in modo esplicito su una colonna, tale colonna può essere utilizzata come regressore nel modello.

È possibile determinare i regressori effettivamente utilizzati nel modello elaborato eseguendo una query sul set di righe dello schema per il modello di data mining, come illustrato nell'esempio seguente:

SELECT COLUMN_NAME, MODELING_FLAG
FROM $system.DMSCHEMA_MINING_columnS
WHERE MODEL_NAME = '<model name>'

Nota   Se si modifica un modello di data mining e si cambia il tipo di contenuto di una colonna da continuo a discreto, è necessario modificare manualmente il flag nella colonna di data mining, quindi rielaborare il modello.

Regressori nei modelli di regressione lineare

I modelli di regressione lineare sono basati sull'algoritmo Microsoft Decision Trees. Anche se non si utilizza l'algoritmo Microsoft Linear Regression, qualsiasi modello di albero delle decisioni può contenere un albero o dei nodi che rappresentano una regressione su un attributo continuo.

Non è necessario specificare che una colonna continua rappresenta un regressore. L'algoritmo Microsoft Decision Trees suddividerà il set di dati in aree con modelli significativi anche se non si imposta il flag REGRESSOR nella colonna. La differenza è che quando si imposta il flag di modellazione, l'algoritmo tenterà di trovare equazioni di regressione nel formato a*C1 + b*C2 + ... per adattare gli schemi nei nodi dell'albero. Viene calcolata la somma dei residui e, se la deviazione è eccessiva, nell'albero viene imposta una divisione.

Ad esempio, se si stima il comportamento di acquisto dei clienti utilizzando Income come attributo ed è stato impostato il flag di modellazione REGRESSOR nella colonna, l'algoritmo tenta innanzitutto di adattare i valori Income utilizzando una formula di regressione standard. Se la deviazione è eccessiva, la formula di regressione viene abbandonata e l'albero viene diviso in base a un altro attributo. L'algoritmo Decision Trees tenta quindi di adattare un regressore per il reddito in ognuno dei rami dopo la divisione.

È possibile utilizzare il parametro FORCE_REGRESSOR per assicurarsi che l'algoritmo utilizzi un determinato regressore. Questo parametro può essere utilizzato con l'algoritmo Decision Trees e con l'algoritmo Linear Regression.