SvmLightLoader Classe

Définition

Cela tente de lire les données dans un format proche du format SVM-light, l’objectif étant que la majorité des données au format SVM-light doivent être interprétables par ce chargeur.

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)
Héritage
SvmLightLoader
Implémente

Remarques

Le chargeur peut également être différent du comportement d’analyse de SVM-light, de la manière générale suivante :

  1. IDataViewEn tant que , les vecteurs sont nécessaires pour avoir une longueur logique et, pour des raisons pratiques, il est utile si la sortie de ce chargeur a un type de vecteur de longueur fixe, puisque peu d’estimateurs et aucun estimateur de base n’accepte les caractéristiques d’un type de vecteur de longueur variable. SVM-light n’avait aucun tel concept.
  2. L’idiom IDataView a un comportement différent w.r.t. analyse les erreurs.
  3. La lumière SVM a certaines restrictions dans son format qui ne sont pas naturelles pour tenter de restreindre dans le concept de ce chargeur.
  4. Certaines « extensions » courantes de ce format qui se sont produites au cours des années sont prises en charge lorsqu’elles sont sensibles, souvent prises en charge en spécifiant certaines options.

Le format SVM-light peut être résumé ici. Un fichier SVM-light peut conduire avec n’importe quel nombre de lignes commençant par « # ». Celles-ci sont ignorées. {label} {key}:{value} {key}:{value} ... {key}:{value}[#{comment}]

Les lignes ne sont pas délimitées par des espaces blancs, bien que les espaces blancs dans la ligne, avant le caractère de commentaire # (le cas échéant) ne soient pas ignorés. SVM-light elle-même utilise la fonction C « isspace » standard, tandis que nous respectons uniquement l’espace et l’onglet comme espace blanc. Ainsi, les espaces de la ligne ci-dessus peuvent être, par exemple, les onglets, et il peut même y avoir plusieurs d’entre eux dans la séquence. Contrairement au format du chargeur de texte, par exemple, il n’existe aucun concept d’un champ « vide » ayant un état.

Le vecteur de fonctionnalité est spécifié via une série de paires clé/valeur. SVM-light nécessite que les clés soient positives, augmentant les entiers, à l’exception de trois clés spéciales : coût (nous interprétons en tant que poids), qid (nous interprétons comme GroupId) et sid (nous les ignoreons, mais peut les présenter comme une colonne à l’avenir si l’un de nos apprenants implémente tout ce qui ressemble à l’ID slack). La valeur de « coût » est flottante, « qid » est une longue, et « sid » est un long qui doit être positif. Si ces clés sont spécifiées plusieurs fois, la dernière gagne.

SVM-light, si la fin de la valeur n’est pas interprétable en tant que nombre, ignore la queue. Par exemple, « 5:3.14hello » sera interprété comme « 5:3.14 ». Ce chargeur ne prend pas en charge cette syntaxe.

Nous ne conservons pas la restriction sur les clés qui doivent augmenter les valeurs dans notre chargeur, en raison de la façon dont nous composons nos vecteurs de caractéristiques, mais il sera le plus efficace si cette stratégie est toujours suivie. S’il est suivi d’un tri ne sera pas nécessaire.

Ce chargeur a la possibilité spéciale de lire du texte brut pour les clés et de convertir en index de caractéristiques, en conservant les valeurs de clé de texte en tant que noms de caractéristiques pour le vecteur de caractéristique résultant. L’intention de cela est d’autoriser les clés de chaîne, une variante commune du format, mais une valeur emphatiquement non autorisée par le format d’origine.

Méthodes

GetOutputSchema()

Cela tente de lire les données dans un format proche du format SVM-light, l’objectif étant que la majorité des données au format SVM-light doivent être interprétables par ce chargeur.

Load(IMultiStreamSource)

Cela tente de lire les données dans un format proche du format SVM-light, l’objectif étant que la majorité des données au format SVM-light doivent être interprétables par ce chargeur.

Implémentations d’interfaces explicites

ICanSaveModel.Save(ModelSaveContext)

Cela tente de lire les données dans un format proche du format SVM-light, l’objectif étant que la majorité des données au format SVM-light doivent être interprétables par ce chargeur.

Méthodes d’extension

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

Afficher un aperçu d’un effet sur loader un donné source.

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

Créez un chargeur composite en ajoutant un transformateur à ce chargeur de données.

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

Créez un estimateur de chargeur composite en ajoutant un estimateur à ce chargeur de données.

S’applique à