SvmLightLoader Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questo tentativo di leggere i dati in un formato vicino al formato SVM-light, l'obiettivo è che la maggior parte dei dati formattati SVM-light deve essere interpretabile da questo caricatore.
public sealed class SvmLightLoader : Microsoft.ML.IDataLoader<Microsoft.ML.Data.IMultiStreamSource>
type SvmLightLoader = class
interface IDataLoader<IMultiStreamSource>
interface ICanSaveModel
Public NotInheritable Class SvmLightLoader
Implements IDataLoader(Of IMultiStreamSource)
- Ereditarietà
-
SvmLightLoader
- Implementazioni
Commenti
Il caricatore può anche essere diverso dal comportamento di analisi della luce SVM, nei modi generali seguenti:
- In quanto , IDataViewi vettori sono necessari per avere una lunghezza logica e per motivi pratici è utile se l'output di questo caricatore ha un tipo di vettore a lunghezza fissa, poiché pochi estimatori e non gli estimatori di base accettano caratteristiche di tipi di vettore a lunghezza variabile. La luce SVM non aveva un concetto simile.
- Il IDataView linguaggio presenta un comportamento diverso w.r.t. analizzare gli errori.
- La luce SVM presenta alcune restrizioni nel formato che non sono naturali per tentare di limitare il concetto di questo caricatore.
- Alcune "estensioni" comuni di questo formato che si sono verificate nel corso degli anni sono ospitate dove ragionevole, spesso supportato specificando alcune opzioni.
Il formato SVM-light può essere riepilogato qui. Un file SVM-light può generare un numero qualsiasi di righe che iniziano con '#'. Questi vengono eliminati. {label} {key}:{value} {key}:{value} ... {key}:{value}[#{comment}]
Le righe non vengono ritagliate, anche se gli spazi vuoti all'interno della riga, prima del carattere di commento # (se presente) vengono ignorati. SVM-light usa la funzione standard C "isspace", mentre rispettiamo solo lo spazio e la scheda come spazi vuoti. Quindi, gli spazi nella riga precedente potrebbero essere, ad esempio schede, e potrebbero anche esserci più di essi in sequenza. A differenza del formato del caricatore di testo, ad esempio, non esiste alcun concetto di campo "vuoto" con stato.
Il vettore di funzionalità viene specificato tramite una serie di coppie chiave/valore. SVM-light richiede che le chiavi siano positive, aumentando i numeri interi, ad eccezione di tre chiavi speciali: costo (interpretiamo come Peso), qid (interpretiamo come GroupId) e sid (li ignoriamo, ma potrebbero presentarli come colonna in futuro se uno dei nostri studenti implementa qualsiasi elemento simile all'ID slack). Il valore di 'cost' è float, 'qid' è un long e 'sid' è un lungo che deve essere positivo. Se queste chiavi vengono specificate più volte, l'ultima vince.
SVM-light, se la coda del valore non è interpretabile come numero, ignorerà la coda. Ad esempio, "5:3.14hello" verrà interpretato come "5:3.14". Questo caricatore non supporta questa sintassi.
Non si mantiene la restrizione per le chiavi che devono aumentare i valori nel caricatore, a causa del modo in cui si compongono i vettori di funzionalità, ma sarà più efficiente se questo criterio è ancora seguito. Se viene seguito un ordinamento non sarà necessario.
Questo caricatore ha l'opzione speciale per leggere il testo non elaborato per le chiavi e convertirli in indici di funzionalità, mantenendo i valori della chiave di testo come nomi di funzionalità per il vettore di funzionalità risultante. Lo scopo di questa operazione è consentire le chiavi stringa, una variante comune del formato, ma una non consentita in modo enfatico dal formato originale.
Metodi
GetOutputSchema() |
Questo tentativo di leggere i dati in un formato vicino al formato SVM-light, l'obiettivo è che la maggior parte dei dati formattati SVM-light deve essere interpretabile da questo caricatore. |
Load(IMultiStreamSource) |
Questo tentativo di leggere i dati in un formato vicino al formato SVM-light, l'obiettivo è che la maggior parte dei dati formattati SVM-light deve essere interpretabile da questo caricatore. |
Implementazioni dell'interfaccia esplicita
ICanSaveModel.Save(ModelSaveContext) |
Questo tentativo di leggere i dati in un formato vicino al formato SVM-light, l'obiettivo è che la maggior parte dei dati formattati SVM-light deve essere interpretabile da questo caricatore. |
Metodi di estensione
Preview<TSource>(IDataLoader<TSource>, TSource, Int32) |
Visualizzare in anteprima un effetto di |
Append<TSource,TTrans>(IDataLoader<TSource>, TTrans) |
Creare un nuovo caricatore composito aggiungendo un trasformatore a questo caricatore di dati. |
Append<TSource,TTrans>(IDataLoader<TSource>, IEstimator<TTrans>) |
Creare un nuovo strumento di stima del caricatore composito aggiungendo uno strumento di stima a questo caricatore di dati. |