SvmLightLoader Třída

Definice

Tím se pokusíte číst data ve formátu blízko formátu SVM-light, což je cílem, že většina formátovaných dat SVM by měla být interpretovat tímto zavaděčem.

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)
Dědičnost
SvmLightLoader
Implementuje

Poznámky

Zavaděč se může lišit také od chování analýzy SVM-light, a to v následujících obecných způsobech:

  1. IDataViewVektory musí mít logickou délku a z praktických důvodů je užitečné, pokud má výstup tohoto zavaděče pevný typ vektoru délky, protože několik odhadovačů a žádné základní odhadátory trenéra přijímají funkce proměnných typů vektorů délky. SVM-light neměl takový koncept.
  2. Idiom IDataView má jiné chování w.r.t. parsování chyb.
  3. SVM-light má určitá omezení ve svém formátu, které jsou nepřirozené k pokusu o omezení v konceptu tohoto zavaděče.
  4. V některých běžných "rozšířeních" tohoto formátu, ke kterým došlo v průběhu let, se vyhoví, kde jsou rozumná, často podporovaná zadáním některých možností.

Formát SVM-light lze sem shrnout. Soubor SVM-light může vést s libovolným počtem řádků začínajících na #. Ty se zahodí. {label} {key}:{value} {key}:{value} ... {key}:{value}[#{comment}]

Řádky nejsou oříznuté prázdnými znaky, ale prázdné znaky v řádku před znakem komentáře # (pokud existují) jsou ignorovány. SVM-light sám používá standardní funkci C "isspace", zatímco respektujeme pouze mezeru a tabulátor jako prázdné znaky. Mezery ve výše uvedeném řádku tedy můžou být například tabulátory a v posloupnosti může být i několik z nich. Na rozdíl od formátu zavaděče textu například neexistuje žádný koncept "prázdného" pole se stavem.

Vektor funkce je určen prostřednictvím řady párů klíč/hodnota. SVM-light vyžaduje, aby klíče byly kladné, rostoucí celé číslo, s výjimkou tří speciálních klíčů: náklady (interpretujeme jako Hmotnost), qid (interpretujeme jako GroupId) a sid (tyto hodnoty ignorujeme, ale v budoucnu je můžeme prezentovat jako sloupec, pokud některý z našich učení implementuje cokoli podobného id slack). Hodnota "cost" je float, qid je dlouhá a sid je dlouhá, která musí být pozitivní. Pokud jsou tyto klíče zadány několikrát, poslední z nich vyhraje.

SVM-light, pokud konec hodnoty není interpretovatelný jako číslo, bude ignorovat ocas. Například "5:3.14hello" se interpretuje stejně jako "5:3.14". Tento zavaděč tuto syntaxi nepodporuje.

Nezachováváme omezení pro klíče, které musíme v zavaděči zvýšit, protože se jedná o způsob vytváření vektorů funkcí, ale bude nejúčinnější, pokud se tato zásada stále sleduje. Pokud bude následovat řazení, nebude se vyžadovat.

Tento zavaděč má speciální možnost číst nezpracovaný text pro klíče a převést na indexy funkcí, zachovat hodnoty textového klíče jako názvy funkcí pro výsledný vektor funkce. Záměrem je povolit řetězcové klíče, běžnou variantu formátu, ale jeden důrazně nepovoluje původní formát.

Metody

GetOutputSchema()

Tím se pokusíte číst data ve formátu blízko formátu SVM-light, což je cílem, že většina formátovaných dat SVM by měla být interpretovat tímto zavaděčem.

Load(IMultiStreamSource)

Tím se pokusíte číst data ve formátu blízko formátu SVM-light, což je cílem, že většina formátovaných dat SVM by měla být interpretovat tímto zavaděčem.

Explicitní implementace rozhraní

ICanSaveModel.Save(ModelSaveContext)

Tím se pokusíte číst data ve formátu blízko formátu SVM-light, což je cílem, že většina formátovaných dat SVM by měla být interpretovat tímto zavaděčem.

Metody rozšíření

Preview<TSource>(IDataLoader<TSource>, TSource, Int32)

Náhled efektu loader daného sourcesouboru .

Append<TSource,TTrans>(IDataLoader<TSource>, TTrans)

Vytvořte nový složený zavaděč připojením transformátoru k tomuto zavaděče dat.

Append<TSource,TTrans>(IDataLoader<TSource>, IEstimator<TTrans>)

Vytvořte nový estimátor složeného zavaděče tak, že k tomuto zavaděče dat připojíte estimátor.

Platí pro