語言

OneHotEncodingEstimator 類別

定義

將一個或多個類別值的輸入欄位轉換為多個輸出欄位的單熱編碼向量。

public sealed class OneHotEncodingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.OneHotEncodingTransformer>
type OneHotEncodingEstimator = class
    interface IEstimator<OneHotEncodingTransformer>
Public NotInheritable Class OneHotEncodingEstimator
Implements IEstimator(Of OneHotEncodingTransformer)
繼承
OneHotEncodingEstimator
實作

備註

估算器特性

這個估計器需要查看資料來訓練參數嗎? Yes
輸入欄位資料型別 數字、布林、文字DateTime或鍵型的向量或標量。
輸出欄位資料型態 標量或 鍵向量,或型態向 Single 量。
可匯出至 ONNX Yes

它 OneHotEncodingEstimator 會建立一個輸入欄位中出現的唯一值字典。 結果 OneHotEncodingTransformer 會將一個或多個輸入欄位轉換為相同數量的單熱編碼向量輸出欄位。

OneHotEncodingEstimator通常用於將類別資料轉換成可供機器學習演算法提供的形式。

此轉換的輸出由 表示 OneHotEncodingEstimator.OutputKind為:

  • Indicator 產生 指示向量。 此向量中的每個槽位對應字典中的一個範疇,因此其長度即為建構字典的大小。 若在指示函中找不到該值,輸出為零向量。

  • Bag 產生一個向量,使得每個槽位儲存該輸入向量中對應值的出現次數。 此向量中的每個槽位對應字典中的一個值,因此其長度即為建構字典的大小。 Indicator Bag差異僅在於從輸入欄中各個槽位產生的位元向量如何聚合:Indicator 的位元向量是串接的,而 Bag 則是相加的。 當來源欄位為標量時,指示器與袋子選項相同。

  • Key 產生欄位中的 KeyDataViewType 鍵。 若輸入欄位為向量,輸出包含向量 鍵型態 ,向量的每個槽位對應輸入向量的相應槽位。 若某類別未在 bulit 字典中找到,則該類別被賦予值為零。

  • Binary 產生一個二進位編碼的向量,以表示字典中輸入欄位中存在的值。 如果輸入欄位中的某個值在字典中找不到,輸出就是零向量。

OneHotEncodingTransformer 可以套用到一個或多個欄位,這樣它會為每個欄位建立並使用獨立的字典。

請參考「參見」區塊,裡面有使用範例的連結。

方法

名稱 Description
Fit(IDataView)

訓練並返回 OneHotEncodingTransformer。

GetOutputSchema(SchemaShape)

回傳 SchemaShape 由變壓器產生的結構結構。 用於結構傳播與管線驗證。

擴充方法

名稱 Description
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

在估計鏈中附加一個「快取檢查點」。 這將確保下游估計器能針對快取資料進行訓練。 在訓練師接受多次資料通行前設置快取檢查點會很有幫助。

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

給定一個估計器,回傳一個包裹物件,該物件會呼叫一次 Fit(IDataView) 代理。 估計器通常回傳擬合的資訊很重要,因此該 Fit(IDataView) 方法回傳一個特定型別的物件,而非一般 ITransformer的 。 然而,同時, IEstimator<TTransformer> 通常會被組成包含許多物件的管線,因此我們可能需要建立一條估計鏈,將 EstimatorChain<TLastTransformer> 我們想要取得變壓器的估計器埋藏在這條鏈的某處。 在這種情況下,我們可以透過此方法附加一個代理,當 fit 被呼叫時會被呼叫。

適用於

另請參閱