Share via


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
實作

備註

估算器特性

此估算器是否需要查看資料來定型其參數?
輸入資料行資料類型 SingleDouble 或這些類型的已知大小向量。
輸出資料行資料類型 與輸入資料行相同的資料類型
可匯出至 ONNX

產生的 NormalizingEstimator 會根據資料的建立方式,以下列其中一種方式正規化資料:

  • 最小值最大值 - 以每個資料列的最小值和最大值為基礎的線性重新調整。
  • 平均變異數 - 將每個資料列重新調整為單位變異數,並選擇性地將每個資料列重新調整為零平均值。
  • Log Mean Variance - 根據記錄小數位數中的計算,選擇性地將每個資料列重新調整為單位變異數, 零平均數。
  • 量化 - 將每個資料列中的資料貯體化,並根據計算的量化執行線性重新調整。
  • 受監督的量化 - 將每個資料列中的資料貯體化,並根據計算的量化來執行線性重新調整。量化計算是以 Label 資料行的相互關聯為基礎。
  • 健全的調整 - 選擇性地根據資料範圍和提供的分位數最小值和最大值來置中資料並調整。 這個方法對極端值更強固。

估算器詳細資料

正規化資料的間隔取決於是否指定 fixZero。 fixZero 預設為 true。 當 fixZero 為 false 時,正規化間隔為 $[0,1]$,而正規化值的分佈取決於正規化模式。 例如,使用 Min Max 時,最小值和最大值分別對應至 0 和 1,其餘值會落在兩者之間。 設定 fixZero 時,正規化間隔是 $[-1,1]$,而正規化值分佈取決於正規化模式,但行為不同。 使用 Min Max 時,分佈取決於數位與 0 的距離,如果數位是正數,則會產生最大距離對應至 1 的數位,如果其為負數,則為 -1。 與 0 之間的距離會影響大部分數位的分佈,這些數位會更接近 0 正規化。 健全調整不會使用 fixZero,而且其值不會限制為 $[0,1]$ 或 $[-1,1]$。 其調整是根據資料的範圍,以及提供的分位數最小值和最大值。

輸出$y$ 在輸入$x$ 上套用平均變異數和記錄平均數變異數而不使用 CDF 選項的方程式為:$y = (x - \text{offset}) \text{scale}$。 在定型期間計算位移和小數位數的位置。

使用 CDF 選項是:$y = 0.5 * (1 + \text{ERF} ( (x - \text{mean}) / (\text{standard deviation} * sqrt (2) ) ) $. 其中 ERF 是 Error 函式 ,用來近似假設為正常分佈之隨機變數的 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> 建置估算器的鏈結,而我們想要取得轉換器的估算器會在此鏈結的某處被隱藏。 在該案例中,我們可以透過此方法附加呼叫一次將會呼叫的委派。

適用於