Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
La separazione dei dati in set di training e test è una parte importante della valutazione dei modelli di data mining. In genere, quando si separa un set di dati in un set di training e un set di test, la maggior parte dei dati viene usata per il training e viene usata una parte più piccola dei dati per i test. Analysis Services campiona in modo casuale i dati per garantire che i set di test e di training siano simili. Usando dati simili per il training e il test, è possibile ridurre al minimo gli effetti delle discrepanze dei dati e comprendere meglio le caratteristiche del modello.
Dopo l'elaborazione di un modello tramite il set di training, testare il modello eseguendo stime sul set di test. Poiché i dati nel set di test contengono già valori noti per l'attributo da stimare, è facile determinare se le ipotesi del modello sono corrette.
Creazione di set di test e training per strutture di data mining
In SQL Server 2014 si separa il set di dati originale al livello della struttura di data mining. Informazioni sulle dimensioni dei set di dati di training e test e sulla riga a cui appartiene il set, vengono archiviate con la struttura e tutti i modelli basati su tale struttura possono usare i set per il training e il test.
È possibile definire un set di dati di test in una struttura di data mining nei modi seguenti:
Creare e suddividere la struttura di data mining utilizzando la Creazione guidata per il modello di data mining.
Modifica delle proprietà della struttura nella scheda Struttura di data mining del Designer di data mining.
Creazione e modifica di strutture a livello di codice tramite Analysis Management Objects (AMO) o DDL (XML Data Definition Language).
Utilizzo dell'Assistente alla creazione di modelli di data mining per dividere una struttura di data mining
Per impostazione predefinita, dopo aver definito le origini dati per una struttura di data mining, la Creazione guidata di data mining dividerà i dati in due set: uno con il 70% dei dati di origine, per l'addestramento del modello e uno con il 30% dei dati di origine, per la verifica del modello. Questo valore predefinito è stato scelto perché un rapporto 70-30 viene spesso usato nel data mining, ma con Analysis Services è possibile modificare questo rapporto in base ai requisiti.
È anche possibile configurare la procedura guidata per impostare un numero massimo di casi di addestramento, oppure combinare i limiti per consentire una percentuale massima di casi fino a un numero massimo specificato di casi. Quando si specifica sia una percentuale massima di case che un numero massimo di case, Analysis Services usa il più piccolo dei due limiti come dimensione del set di test. Ad esempio, se si specifica il 30% di riserva per i casi di test e il numero massimo dei casi di test come 1000, la dimensione del set di test non supererà mai i 1000 casi. Ciò può essere utile se si vuole garantire che le dimensioni del set di test rimangano coerenti anche se al modello vengono aggiunti più dati di training.
Se utilizzi la stessa vista della fonte dati per diverse strutture di data mining e modelli e desideri assicurarti che i dati siano divisi approssimativamente nello stesso modo per tutte le strutture di data mining e i modelli, dovresti specificare il seed utilizzato per inizializzare il campionamento casuale. Quando si specifica un valore per HoldoutSeed
, Analysis Services userà tale valore per iniziare il campionamento. In caso contrario, il campionamento usa un algoritmo hash sul nome della struttura di analisi dei dati per creare il valore seed.
Annotazioni
Se si crea una copia della struttura di data mining utilizzando le EXPORT
istruzioni e IMPORT
, la nuova struttura di data mining avrà gli stessi set di dati di training e test, perché il processo di esportazione crea un nuovo ID ma utilizza lo stesso nome. Tuttavia, se due strutture di data mining utilizzano la stessa origine dati sottostante ma hanno nomi diversi, i set creati per ogni struttura di data mining saranno diversi.
Modifica delle proprietà della struttura per creare un set di dati di test
Se si crea ed elabora una struttura di data mining e successivamente si decide di riservare un set di dati di test, è possibile modificare le proprietà della struttura di data mining. Per modificare la modalità di partizionamento dei dati, modificare le proprietà seguenti:
Proprietà | Descrizione |
---|---|
HoldoutMaxCases |
Specifica il numero massimo di case da includere nel set di test. |
HoldoutMaxPercent |
Specifica il numero di case da includere nel set di test come percentuale del set di dati completo. Per non avere set di dati, è necessario specificare 0. |
HoldoutSeed |
Specifica un valore intero da utilizzare come valore di inizializzazione quando si selezionano in modo casuale i dati per le partizioni. Questo valore non influisce sul numero di casi nel set di addestramento; garantisce invece che la partizione possa essere ripetuta. |
Se si aggiunge o si modifica un set di dati di test su una struttura esistente, è necessario rielaborare la struttura e tutti i modelli associati. Inoltre, poiché la divisione dei dati di origine determina il training del modello in un subset diverso dei dati, è possibile che vengano visualizzati risultati diversi dal modello.
Specifica del blocco a livello di codice
È possibile definire set di dati di test e training in una struttura di data mining usando istruzioni DMX, AMO o DDL XML. L'istruzione ALTER MINING STRUCTURE non supporta l'uso di parametri di esclusione.
DMX Nel linguaggio DMX (Data Mining Extensions), l'istruzione CREATE MINING STRUCTURE è stata estesa per includere una clausola WITH HOLDOUT.
ASSL È possibile creare una nuova struttura di data mining o aggiungere un set di dati di test a una struttura di data mining esistente utilizzando il linguaggio ASSL (Analysis Services Scripting Language).
AMO È anche possibile visualizzare e modificare i set di dati di riserva utilizzando AMO.
È possibile visualizzare informazioni sul set di dati di controllo in una struttura di data mining esistente eseguendo una query sul set di righe dello schema di data mining. A tale scopo, è possibile effettuare una chiamata DISCOVER ROWSET oppure usare una query DMX.
Recuperazione di informazioni sui dati di riserva
Per impostazione predefinita, tutte le informazioni sui set di dati di training e test vengono memorizzate nella cache, in modo da poter usare i dati esistenti per eseguire il training e quindi testare nuovi modelli. È anche possibile definire filtri da applicare ai dati di controllo memorizzati nella cache in modo da poter valutare il modello sui subset dei dati.
Il modo in cui i casi sono suddivisi in set di dati di formazione e di test dipende dal modo in cui si configura la suddivisione e dai dati che vengono forniti. Se si desidera determinare il numero di casi usati per il training o per i test oppure se si desidera trovare altri dettagli sui case inclusi nei set di training e di test, è possibile eseguire una query sulla struttura del modello creando una query DMX. Ad esempio, la query seguente restituisce i casi usati nell'insieme di addestramento del modello.
SELECT * from <structure>.CASES WHERE IsTrainingCase()
Per recuperare solo i casi di test e filtrarli ulteriormente in una delle colonne della struttura di data mining, usare la sintassi seguente:
SELECT * from <structure>.CASES WHERE IsTestCase() AND <structure column name> = '<value>'
Limitazioni sull'uso dei dati di verifica
Per utilizzare holdout, la MiningStructureCacheMode proprietà della struttura di data mining deve essere impostata sul valore predefinito,
KeepTrainingCases
. Se si modifica la proprietàCacheMode
inClearAfterProcessing
e quindi si rielabora la struttura di mining dei dati, la partizione andrà persa.Non è possibile rimuovere i dati da un modello time series; pertanto, non è possibile separare i dati di origine in set di training e test. Se si inizia a creare una struttura di data mining e un modello e si sceglie l'algoritmo Microsoft Time Series, l'opzione per creare un set di dati di controllo è disabilitata. L'uso dei dati di convalida è anche disabilitato se la struttura di data mining contiene una colonna KEY TIME sia al livello della tabella caso che di quella annidata.
È possibile configurare inavvertitamente il set di dati di controllo in modo che il set di dati completo venga usato per il test e che non rimangano dati per il training. Tuttavia, in questo caso, Analysis Services genererà un errore in modo che sia possibile risolvere il problema. Analysis Services informa anche quando la struttura è processata se più del 50% dei dati è stato riservato per i test.
Nella maggior parte dei casi, il valore di blocco predefinito pari a 30 offre un buon equilibrio tra i dati di training e di test. Non esiste un modo semplice per determinare quanto grande debba essere il set di dati per fornire un addestramento sufficiente, né quanto possa essere raro il set di training e ancora evitare l'overfitting. Tuttavia, dopo aver creato un modello, è possibile usare la convalida incrociata per valutare il set di dati rispetto a un determinato modello.
Oltre alle proprietà elencate nella tabella precedente, una proprietà di sola lettura,
HoldoutActualSize
, viene fornita in AMO e XML DDL. Tuttavia, poiché le dimensioni effettive di una partizione non possono essere determinate in modo accurato fino a quando la struttura è stata elaborata, è necessario verificare se il modello è stato elaborato prima di recuperare il valore dellaHoldoutActualSize
proprietà.
Contenuto correlato
Argomenti | Collegamenti |
---|---|
Descrive in che modo i filtri di un modello interagiscono con set di dati di training e test. | Filtri per i modelli di data mining (Analysis Services - Data mining) |
Viene descritto come l'uso dei dati di training e test influisce sulla convalida incrociata. | Validazione incrociata (Analysis Services - Data Mining) |
Fornisce informazioni sulle interfacce a livello di codice per l'utilizzo di set di training e test in una struttura di data mining. |
Concetti AMO e modello a oggetti Elemento MiningStructure (ASSL) |
Fornisce la sintassi DMX per la creazione di set di validazione. | CREATE MINING STRUCTURE (DMX) |
Recupera informazioni sui casi negli insiemi di addestramento e di test. |
Set di righe dello schema di data mining Esecuzione di query sugli insiemi di righe dello schema di data mining (Analysis Services - Data Mining) |
Vedere anche
Strumenti di data mining
Concetti relativi al data mining
Soluzioni di data mining
Test e convalida (Data Mining)