Condividi tramite


Convert to SVMLight

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Converte l'input di dati nel formato usato dal framework SVM-Light

Categoria: Conversioni del formato dati

Nota

Si applica a: Machine Learning Studio (versione classica)

Nella finestra di progettazione sono disponibili moduli simili Azure Machine Learning trascinamento della selezione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Converti in SVMLight in Machine Learning Studio (versione classica) per convertire i set di dati nel formato usato da SVMLight.

Il framework SVMLight è stato sviluppato da ricercatori della Cornell University. La SVM-Light implementa la macchina a vettori di supporto di Vapnik, ma il formato è stato adottato altrove e può essere usato per molte attività di Machine Learning, tra cui classificazione e regressione.

Per altre informazioni, vedere Macchina a vettori di supporto SVMLight.

Come configurare Convert to SVMLight

La conversione nel formato SVMLight comporta la conversione di ogni case in una riga di dati che inizia con l'etichetta, seguita da coppie funzionalità-valore espresse come numeri separati da due punti. Il processo di conversione non identifica automaticamente le colonne corrette, pertanto è importante preparare le colonne nel set di dati prima di tentare la conversione. Per altre informazioni, vedere Preparazione dei dati per la conversione.

  1. Aggiungere il modulo Convert to SVMLight (Converti in SVMLight ) all'esperimento. È possibile trovare questo modulo nella categoria Conversioni formato dati in Machine Learning Studio (versione classica).

  2. Connessione il set di dati o l'output da convertire nel formato SVMLight.

  3. Eseguire l'esperimento.

  4. Fare clic con il pulsante destro del mouse sull'output del modulo, scegliere Scarica e salvare i dati in un file locale per la modifica o il riutilizzo con un programma che supporta SVMLight.

Preparazione dei dati per la conversione

Per illustrare il processo di conversione, in questo esempio viene utilizzato il set di dati Di donato in Studio (versione classica).

Questo set di dati di esempio ha il formato seguente, in formato tabulare.

Recency Frequenza Monetaria Ora Classe
2 50 12500 98 1
0 13 3250 28 1
1 1 4000 35 1
2 20 5000 45 1
1 24 6000 77 0

Si noti che la colonna etichetta, denominata [Class] in questo set di dati, è l'ultima colonna della tabella. Tuttavia, se si converte il set di dati in SVMLight senza prima indicare quale colonna contiene l'etichetta, come etichetta viene usata la prima colonna [Recency] e la colonna [Class] viene considerata una funzionalità:

2 1:50 2:12500 3:98 4:1
0 1:13 2:3250 3:28 4:1
1 1:16 2:4000 3:35 4:1

Per assicurarsi che le etichette vengano generate correttamente all'inizio della riga per ogni case, è necessario aggiungere due istanze del modulo Edit Metadata ( Modifica metadati).

  1. Nella prima istanza di Edit Metadata (Modifica metadati) selezionare la colonna label ([Class]) e per Fields (Campi) selezionare Label (Etichetta).

  2. Nella seconda istanza di Modifica metadati selezionare tutte le colonne di funzionalità necessarie nel file convertito ([Recency], [Frequency], [Monetary], [Time]) e per Campi selezionare Funzionalità.

Dopo aver identificato correttamente le colonne, è possibile eseguire il modulo Convert to SVMLight (Converti in SVMLight ). Dopo la conversione, le prime righe del set di dati Di doni hanno ora questo formato:

  • Il valore dell'etichetta precede ogni voce, seguita dai valori per [Recency], [Frequency], [Monetary] e [Time], identificati rispettivamente come caratteristiche 1, 2, 3 e 4.

  • Il valore dell'etichetta 0 nella quinta riga è stato convertito in -1. Questo perché SVMLight supporta solo etichette di classificazione binaria.

1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28
1 1:1 2:16 3:4000 4:35
1 1:2 2:20 3:5000 4:45
-1 1:1 2:24 3:6000 4:77

Non è possibile usare direttamente questi dati di testo per i modelli in Azure ML o visualizzarlo. È tuttavia possibile scaricarlo in una condivisione locale.

Mentre il file è aperto, è consigliabile aggiungere una riga di commento, #preceduta da , in modo da poter aggiungere note sull'origine o sui nomi delle colonne delle caratteristiche originali.

Per usare un file SVMLight in Vowpal Wabbit e apportare altre modifiche, come descritto qui: Conversione nel formato Vowpal Wabbit. Quando il file è pronto, caricarlo nell'archivio BLOB di Azure e chiamarlo direttamente da uno dei moduli Vowpal Wabbit.

Esempio

Non sono presenti esempi nella Azure AI Gallery: specifici di questo formato.

Note tecniche

Questa sezione contiene informazioni dettagliate sull'implementazione, suggerimenti e risposte alle domande frequenti.

Suggerimenti per l'uso

Gli eseguibili forniti nel framework SVM-Light richiedono sia un file di esempio che un file di modello. Questo modulo tuttavia crea solo il file di esempio. È necessario creare il file di modello separatamente usando le librerie SVMLight.

Il file di esempio è il file che contiene gli esempi di training.

  • Intestazione facoltativa

    Le prime righe possono contenere commenti. I commenti devono essere preceduti dal simbolo cancelletto (#).

    Il formato di file restituito come output da Convert to SVMLight non crea intestazioni. È possibile modificare il file per aggiungere commenti, un elenco di nomi di colonna e così via.

  • Dati di training

    Ogni case si trova nella propria riga. Un case è costituito da un valore di destinazione seguito da una serie di indici e dai valori di funzionalità associati.

    Il valore della risposta deve essere 1 o -1 per la classificazione o un numero per la regressione.

    Il valore di destinazione e ognuna delle coppie indice-valore sono separati da uno spazio.

Esempio di dati di training

La tabella seguente illustra come i valori nelle colonne del set di dati Two-Class Iris vengono convertiti in una rappresentazione in cui ogni colonna è rappresentata da un indice, seguita da due punti e quindi dal valore in tale colonna:

Set di dati Iris Set di dati Iris convertito in SVMLight
1 6.3 2.9 5.6 1.8 1 1:6.3 2:2.9 3:5.6 4:1.8
0 4.8 3.4 1.6 0.2 -1 1:4.8 2:3.4 3:1.6 4:0.2
1 7.2 3.2 6 1.8 1 1:7.2 2:3.2 3:6 4:1.8

Si noti che i nomi delle colonne di funzionalità vengono persi nella conversione.

Uso di SVMLight per preparare un file Vowpal Wabbit

Il formato SVMLight è simile al formato usato da Vowpal Wabbit. Per modificare il file di output SVMLight in un formato utilizzabile per il training di un modello Vowpal Wabbit, è sufficiente aggiungere un simbolo di pipe tra l'etichetta e l'elenco di funzionalità.

Ad esempio, confrontare queste righe di input:

Formato Vowpal Wabbit, incluso il commento facoltativo

# features are [Recency], [Frequency], [Monetary], [Time]
1 | 1:2 2:50 3:12500 4:98
1 | 1:0 2:13 3:3250 4:28

Formato SVMLight, incluso il commento facoltativo

# features are [Recency], [Frequency], [Monetary], [Time]
1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28

Input previsti

Nome Tipo Descrizione
Set di dati Tabella dati Set di dati di input

Output

Nome Tipo Descrizione
Set di dati di risultati SVMLight Set di dati di output

Vedi anche

Conversioni del formato dati
Elenco moduli A-Z