Partager via


NormalizingEstimator Classe

Définition

public sealed class NormalizingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.NormalizingTransformer>
type NormalizingEstimator = class
    interface IEstimator<NormalizingTransformer>
Public NotInheritable Class NormalizingEstimator
Implements IEstimator(Of NormalizingTransformer)
Héritage
NormalizingEstimator
Implémente

Remarques

Caractéristiques de l’estimateur

Cet estimateur doit-il examiner les données pour entraîner ses paramètres ? Oui
Type de données de colonne d’entrée Single ou Double un vecteur de taille connue de ces types.
Type de données de colonne de sortie Le même type de données que la colonne d’entrée
Exportable vers ONNX Oui

Le normalizingEstimator résultant normalisera les données de l’une des manières suivantes en fonction de la façon dont elles ont été créées :

  • Min Max : une mise à l’échelle linéaire basée sur les valeurs minimales et maximales pour chaque ligne.
  • Variance moyenne : rescaler chaque ligne en variance d’unité et, éventuellement, zéro moyenne.
  • Variance moyenne du journal : mettez à l’échelle chaque ligne en variance d’unité, éventuellement, zéro moyenne en fonction des calculs dans l’échelle du journal.
  • Compartimentage : compartimente les données de chaque ligne et effectue une nouvelle mise à l’échelle linéaire basée sur les bacs calculés.
  • Binning supervisé : compartimentez les données dans chaque ligne et effectuez une nouvelle mise à l’échelle linéaire en fonction des bacs calculés. Le calcul bin est basé sur la corrélation de la colonne Label.
  • Mise à l’échelle robuste : si vous le souhaitez, centre les données et les échelles en fonction de la plage de données et des valeurs minimales et maximales quantiles fournies. Cette méthode est plus robuste pour les valeurs hors norme.

Détails de l’estimateur

L’intervalle des données normalisées varie selon que fixZero est spécifié ou non. fixZero a la valeur true par défaut. Lorsque fixZero a la valeur false, l’intervalle normalisé est $[0,1]$ et la distribution des valeurs normalisées dépend du mode de normalisation. Par exemple, avec Min Max, les valeurs minimales et maximales sont mappées à 0 et 1 respectivement et les valeurs restantes entre elles. Lorsque fixZero est défini, l’intervalle normalisé est $[-1,1]$ avec la distribution des valeurs normalisées en fonction du mode de normalisation, mais le comportement est différent. Avec Min Max, la distribution dépend de la distance entre le nombre et la valeur 0, ce qui entraîne le nombre avec la plus grande distance mappée à 1 s’il s’agit d’un nombre positif ou de -1 s’il s’agit d’un nombre négatif. La distance de 0 affectera la distribution avec une majorité de nombres plus proches de la normalisation vers 0. La mise à l’échelle robuste n’utilise pas fixZero et ses valeurs ne sont pas limitées à $[0,1]$ ou $[-1,1]$. Sa mise à l’échelle est basée sur la plage des données et le quantile min et max fourni.

L’équation de la sortie $y$ de l’application de la variance moyenne moyenne et de la variance moyenne de journal sur l’entrée $x$ sans utiliser l’option CDF est la suivante : $y = (x - \text{offset}) \text{scale}$. Où le décalage et l’échelle sont calculés pendant l’entraînement.

À l’aide de l’option CDF, il s’agit de : $y = 0,5 * (1 + \text{ERF}((x - \text{mean}) / (\text{écart type} * sqrt(2)))$. Où ERF est la fonction d’erreur utilisée pour estimer la CDF d’une variable aléatoire supposée normalement distribuée. La moyenne et l’écart type sont informatiques pendant l’entraînement.

Pour créer cet estimateur, utilisez l’une des options suivantes :

Consultez les liens ci-dessus pour obtenir des exemples d’utilisation.

Méthodes

Fit(IDataView)

Effectue l’apprentissage et retourne un NormalizingTransformer.

GetOutputSchema(SchemaShape)

Retourne le SchemaShape schéma qui sera produit par le transformateur. Utilisé pour la propagation et la vérification du schéma dans un pipeline.

Méthodes d’extension

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Ajoutez un « point de contrôle de mise en cache » à la chaîne d’estimateur. Cela garantit que les estimateurs en aval seront entraînés par rapport aux données mises en cache. Il est utile d’avoir un point de contrôle de mise en cache avant les formateurs qui prennent plusieurs passes de données.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Étant donné un estimateur, retournez un objet de création de package de restrictions qui appellera un délégué une fois Fit(IDataView) appelé. Il est souvent important qu’un estimateur retourne des informations sur ce qui était adapté, c’est pourquoi la Fit(IDataView) méthode retourne un objet spécifiquement typé, plutôt que simplement un général ITransformer. Toutefois, en même temps, IEstimator<TTransformer> sont souvent formés en pipelines avec de nombreux objets. Nous pouvons donc avoir besoin de créer une chaîne d’estimateurs par EstimatorChain<TLastTransformer> le biais de laquelle l’estimateur pour lequel nous voulons obtenir le transformateur est enterré quelque part dans cette chaîne. Pour ce scénario, nous pouvons par le biais de cette méthode attacher un délégué qui sera appelé une fois l’ajustement appelé.

S’applique à