SvmLightLoader Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ta próba odczytu danych w formacie zbliżonym do formatu SVM-light jest taka, że większość danych sformatowanych w formacie SVM powinna być interpretowana przez ten moduł ładujący.
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)
- Dziedziczenie
-
SvmLightLoader
- Implementuje
Uwagi
Moduł ładujący może również różnić się od zachowania analizy svM-light, w następujący ogólny sposób:
- IDataViewJako wektory muszą mieć długość logiczną, a z praktycznych powodów warto powiedzieć, czy dane wyjściowe tego modułu ładującego mają typ wektora o stałej długości, ponieważ niewiele narzędzie do szacowania i nie ma podstawowych narzędzi do szacowania trenera, akceptuje cechy typów wektorów o zmiennej długości. SvM-light nie miał takiej koncepcji.
- Idiom IDataView ma inne zachowanie w.r.t. analizuje błędy.
- Światło SVM ma pewne ograniczenia w jego formacie, które nie są naturmowe, aby spróbować ograniczyć w koncepcji tego modułu ładującego.
- Niektóre typowe "rozszerzenia" tego formatu, które wystąpiły w ciągu lat, są uwzględniane tam, gdzie rozsądne, często obsługiwane przez określenie niektórych opcji.
Format SVM-light można podsumować tutaj. Plik SVM-light może prowadzić z dowolną liczbą wierszy rozpoczynających się od "#". Są one odrzucane. {label} {key}:{value} {key}:{value} ... {key}:{value}[#{comment}]
Wiersze nie są przycięte białym znakiem, choć odstępy w wierszu przed znakiem komentarza #(jeśli istnieją) są ignorowane. Samo światło svM używa standardowej funkcji C "isspace", podczas gdy szanujemy tylko spację i kartę jako biały znak. W związku z tym spacje w powyższym wierszu mogą być, powiedzmy, tabulatory, i może być nawet wiele z nich w sekwencji. W przeciwieństwie do formatu modułu ładującego tekst, na przykład nie ma pojęcia pola "pustego" o żadnym stanie.
Wektor funkcji jest określany za pomocą serii par klucz/wartość. Kontrolka SVM wymaga, aby klucze były dodatnie, zwiększając liczbę całkowitą, z wyjątkiem trzech specjalnych kluczy: koszt (interpretujemy jako waga), qid (interpretujemy jako GroupId) i sid (ignorujemy je, ale możemy przedstawić je jako kolumnę w przyszłości, jeśli którykolwiek z naszych uczniów implementuje coś przypominającego identyfikator slack). Wartość "cost" to float, "qid" jest długa, a "sid" jest długi, który musi być pozytywny. Jeśli te klucze są określone wiele razy, ostatni wygrywa.
SvM-light, jeśli ogon wartości nie jest interpretowany jako liczba, zignoruje ogon. Na przykład "5:3.14hello" będzie interpretowany tak samo jak "5:3.14". Ten moduł ładujący nie obsługuje tej składni.
Nie zachowujemy ograniczeń dotyczących kluczy, które muszą być coraz większe w naszym module ładującym, ze względu na sposób tworzenia wektorów funkcji, ale będzie to najbardziej wydajne, jeśli te zasady będą nadal przestrzegane. Jeśli następuje sortowanie, nie będzie wymagane.
Ten moduł ładujący ma specjalną opcję odczytu nieprzetworzonego tekstu dla kluczy i konwertowania na indeksy funkcji, zachowując wartości klucza tekstowego jako nazwy cech wynikowego wektora funkcji. Celem tego jest zezwolenie na klucze ciągów, wspólny wariant formatu, ale zdecydowanie nie jest dozwolony przez oryginalny format.
Metody
| Nazwa | Opis |
|---|---|
| GetOutputSchema() |
Ta próba odczytu danych w formacie zbliżonym do formatu SVM-light jest taka, że większość danych sformatowanych w formacie SVM powinna być interpretowana przez ten moduł ładujący. |
| Load(IMultiStreamSource) |
Ta próba odczytu danych w formacie zbliżonym do formatu SVM-light jest taka, że większość danych sformatowanych w formacie SVM powinna być interpretowana przez ten moduł ładujący. |
Jawne implementacje interfejsu
| Nazwa | Opis |
|---|---|
| ICanSaveModel.Save(ModelSaveContext) |
Ta próba odczytu danych w formacie zbliżonym do formatu SVM-light jest taka, że większość danych sformatowanych w formacie SVM powinna być interpretowana przez ten moduł ładujący. |
Metody rozszerzania
| Nazwa | Opis |
|---|---|
| Append<TSource,TTrans>(IDataLoader<TSource>, IEstimator<TTrans>) |
Utwórz nowy narzędzie do szacowania modułu ładującego złożonego, dołączając narzędzie do szacowania do tego modułu ładującego dane. |
| Append<TSource,TTrans>(IDataLoader<TSource>, TTrans) |
Utwórz nowy moduł ładujący złożony, dołączając transformator do tego modułu ładującego dane. |
| Preview<TSource>(IDataLoader<TSource>, TSource, Int32) |
Podgląd wpływu |