SvmLightLoader Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dadurch wird versucht, Daten in einem Format in der Nähe des SVM-Light-Formats zu lesen, wobei das Ziel besteht, dass die meisten SVM-Light-formatierten Daten von diesem Ladeprogramm interpretiert werden sollten.
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)
- Vererbung
-
SvmLightLoader
- Implementiert
Hinweise
Das Ladeprogramm kann sich auch vom Analyseverhalten von SVM-light unterscheiden, und zwar auf die folgenden allgemeinen Arten:
- IDataViewAls Vektoren müssen Vektoren eine logische Länge aufweisen, und aus praktischen Gründen ist es hilfreich, wenn die Ausgabe dieses Ladegeräts einen Vektortyp mit fester Länge aufweist, da nur wenige Schätzwerte und keine grundlegenden Trainerschätzungen Features eines Variablenlängenvektortyps akzeptieren. SVM-light hatte kein solches Konzept.
- Das IDataView Idiom weist ein anderes Verhalten auf, wenn w.r.t. Analysefehler auftreten.
- Das SVM-Light hat einige Einschränkungen in seinem Format, die unnatürlich sind, um das Konzept dieses Ladegeräts einzuschränken.
- Einige häufige "Erweiterungen" dieses Formats, die im Laufe der Jahre stattgefunden haben, sind unterzubringen, wo sinnvoll, häufig durch die Angabe einiger Optionen unterstützt werden.
Das SVM-Light-Format kann hier zusammengefasst werden. Eine SVM-Light-Datei kann mit einer beliebigen Anzahl von Zeilen führen, die mit "#" beginnen. Diese werden verworfen. {label} {key}:{value} {key}:{value} ... {key}:{value}[#{comment}]
Zeilen werden nicht durch Leerzeichen gekürzt, obwohl Leerzeichen innerhalb der Zeile vor dem Zeichen #-Kommentar (falls vorhanden) ignoriert werden. SVM-light selbst verwendet die standardmäßige C -Isspace-Funktion, während wir nur Platz und Tabstopp als Leerzeichen respektieren. Die Leerzeichen in der obigen Zeile könnten also beispielsweise Tabstopps sein, und es könnte sogar mehrere davon in Folge geben. Im Gegensatz zum Format des Textladeprogramms gibt es z. B. kein Konzept eines "leeren" Felds mit einem Status.
Der Featurevektor wird über eine Reihe von Schlüssel-Wert-Paaren angegeben. SVM-light erfordert, dass die Schlüssel positiv sind und ganze Zahlen erhöhen, mit Ausnahme von drei speziellen Schlüsseln: Kosten (wir interpretieren als Gewicht), Qid (wir interpretieren als GroupId) und Sid (wir ignorieren diese, können sie aber in Zukunft als Spalte präsentieren, wenn einer unserer Lernenden etwas implementiert, das der Puffer-ID ähnelt). Der Wert für "Kosten" ist float, "qid" ist lang, und "sid" ist eine lange, die positiv sein muss. Wenn diese Schlüssel mehrmals angegeben werden, gewinnt die letzte.
SVM-light, wenn der Tail des Werts nicht als Zahl interpretiert werden kann, ignoriert den Schwanz. Beispielsweise wird "5:3.14hello" wie "5:3.14" interpretiert. Dieses Ladeprogramm unterstützt diese Syntax nicht.
Wir behalten die Einschränkung von Schlüsseln, die aufgrund der Art und Weise, wie wir unsere Featurevektoren verfassen, immer mehr Werte in unserem Ladeprogramm benötigen, aber es wird am effizientesten sein, wenn diese Richtlinie noch befolgt wird. Wenn eine Sortierung befolgt wird, ist keine Sortierung erforderlich.
Dieses Ladeprogramm verfügt über die spezielle Option, unformatierten Text für die Schlüssel zu lesen und in Featureindizes zu konvertieren und die Textschlüsselwerte als Featurenamen für den resultierenden Featurevektor beizubehalten. Die Absicht besteht darin, Zeichenfolgenschlüssel zuzulassen, eine gängige Variante des Formats, aber eine emphmatisch nicht vom ursprünglichen Format zulässig.
Methoden
| Name | Beschreibung |
|---|---|
| GetOutputSchema() |
Dadurch wird versucht, Daten in einem Format in der Nähe des SVM-Light-Formats zu lesen, wobei das Ziel besteht, dass die meisten SVM-Light-formatierten Daten von diesem Ladeprogramm interpretiert werden sollten. |
| Load(IMultiStreamSource) |
Dadurch wird versucht, Daten in einem Format in der Nähe des SVM-Light-Formats zu lesen, wobei das Ziel besteht, dass die meisten SVM-Light-formatierten Daten von diesem Ladeprogramm interpretiert werden sollten. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| ICanSaveModel.Save(ModelSaveContext) |
Dadurch wird versucht, Daten in einem Format in der Nähe des SVM-Light-Formats zu lesen, wobei das Ziel besteht, dass die meisten SVM-Light-formatierten Daten von diesem Ladeprogramm interpretiert werden sollten. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| Append<TSource,TTrans>(IDataLoader<TSource>, IEstimator<TTrans>) |
Erstellen Sie einen neuen zusammengesetzten Ladeprogramm, indem Sie einen Schätzer an dieses Datenladeprogramm anfügen. |
| Append<TSource,TTrans>(IDataLoader<TSource>, TTrans) |
Erstellen Sie ein neues zusammengesetztes Ladeprogramm, indem Sie einen Transformator an dieses Datenladeprogramm anfügen. |
| Preview<TSource>(IDataLoader<TSource>, TSource, Int32) |
Zeigen Sie eine Vorschau eines Effekts auf |