NormalizingEstimator クラス

定義

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)
継承
NormalizingEstimator
実装

注釈

エスティメーターの特性

この推定器は、パラメーターをトレーニングするためにデータを確認する必要がありますか? はい
入力列のデータ型 Single または Double それらの型の既知のサイズのベクトル。
出力列のデータ型 入力列と同じデータ型
ONNX にエクスポート可能 はい

結果として得られる NormalizingEstimator は、データの作成方法に基づいて、次のいずれかの方法でデータを正規化します。

  • 最小最大値 - 各行の最小値と最大値に基づく線形再スケーリング。
  • 平均分散 - 各行を単位分散に再スケーリングし、必要に応じて平均 0 を指定します。
  • 対数平均分散 - 各行を単位分散に再スケーリングし、必要に応じて、対数スケールの計算に基づいて平均を 0 に変更します。
  • ビン分割 - 各行のデータをバケット化し、計算されたビンに基づいて線形再スケーリングを実行します。
  • 監視ビン分割 - 各行のデータをバケット化し、計算されたビンに基づいて線形再スケーリングを実行します。ビンの計算は、[ラベル] 列の相関関係に基づいています。
  • 堅牢なスケーリング - 必要に応じて、データの範囲と指定された分位点の最小値と最大値に基づいて、データとスケールを中央揃えします。 この方法は、外れ値に対してより堅牢です。

Estimator の詳細

正規化されたデータの間隔は、fixZero が指定されているかどうかによって異なります。 fixZero の既定値は true です。 fixZero が false の場合、正規化された間隔は $[0,1]$ になり、正規化された値の分布は正規化モードによって異なります。 たとえば、Min Max では、最小値と最大値はそれぞれ 0 と 1 にマップされ、残りの値は間に入ります。 fixZero が設定されている場合、正規化された間隔は $[-1,1]$ で、正規化モードに応じて正規化された値が分布しますが、動作は異なります。 最小最大値の場合、分布は数値が 0 からどれだけ離れているかによって異なります。その結果、正の数値の場合は最大の距離が 1 にマップされ、負の数の場合は -1 にマップされます。 0 からの距離は、0 に近い近い数値の分布に影響します。 ロバスト スケーリングでは fixZero は使用されず、その値は $[0,1]$ または $[-1,1]$ に制限されません。 そのスケーリングは、データの範囲と、提供される分位点の最小値と最大値に基づいています。

CDF オプションを使用せずに入力$x$ に平均分散と対数平均分散の両方を適用する出力$y$ の式は、$y = (x - \text{offset}) \text{scale}$ です。 トレーニング中にオフセットとスケールが計算される場所。

CDF オプションを使用すると、$y = 0.5 * (1 + \text{ERF}((x - \text{mean}) / (\text{標準偏差} * sqrt(2))))$ になります。 ここで、ERF は、正規分布と見なされるランダム変数の CDF を近似するために使用される 誤差関数 です。 平均と標準偏差はトレーニング中に計算されます。

このエスティメーターを作成するには、次のいずれかを使用します。

使用例については、上記のリンクを参照してください。

メソッド

Fit(IDataView)

をトレーニングして返します NormalizingTransformer

GetOutputSchema(SchemaShape)

SchemaShapeトランスフォーマーによって生成されるスキーマの値を返します。 パイプラインでのスキーマの伝達と検証に使用されます。

拡張メソッド

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

推定チェーンに "キャッシュ チェックポイント" を追加します。 これにより、ダウンストリーム推定器がキャッシュされたデータに対してトレーニングされるようになります。 複数のデータを受け取るトレーナーの前にキャッシュ チェックポイントを設定すると便利です。

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

エスティメーターを指定すると、デリゲートが呼 Fit(IDataView) び出されると呼び出されるラップ オブジェクトを返します。 多くの場合、エスティメーターが適合した内容に関する情報を返すことが重要です。そのため Fit(IDataView) 、メソッドは一般的 ITransformerなオブジェクトではなく、具体的に型指定されたオブジェクトを返します。 ただし、同時に、 IEstimator<TTransformer> 多くのオブジェクトを含むパイプラインに形成されることが多いため、トランスフォーマーを取得する推定器がこのチェーンのどこかに埋もれている場所を介して EstimatorChain<TLastTransformer> 、推定器のチェーンを構築する必要がある場合があります。 このシナリオでは、このメソッドを使用して、fit が呼び出されると呼び出されるデリゲートをアタッチできます。

適用対象