MutualInformationFeatureSelectingEstimator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用標籤資料列來選取所有指定資料列之間的頂端 K 位置, (您可以藉由觀察指定資料列的值) 來瞭解標籤。
public sealed class MutualInformationFeatureSelectingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.ITransformer>
type MutualInformationFeatureSelectingEstimator = class
interface IEstimator<ITransformer>
Public NotInheritable Class MutualInformationFeatureSelectingEstimator
Implements IEstimator(Of ITransformer)
- 繼承
-
MutualInformationFeatureSelectingEstimator
- 實作
備註
估算器特性
此估算器是否需要查看數據來定型其參數? | Yes |
輸入數據行數據類型 | 數值、 文字 或 索引鍵 數據類型的向量或純量 |
輸出數據行數據類型 | 與輸入數據行相同 |
可匯出至 ONNX | Yes |
形式上,可將相互資訊撰寫為:
$\text{MI} (X,Y) = E_{x,y}[\log (P (x,y) ) - \log (P (x) ) - \log (P (y) ) ]$ ,其中 $x$ 和 $y$ 是隨機變數 $X$ 和 $Y$ 的觀察。
其中,預期 E 會接管 X 和 Y 的聯合分佈。在這裡,P (x、y) 是 X 和 Y 的聯合機率密度函數、P (x) 和 P (y) 分別是 X 和 Y 的臨界機率密度函數。 一般而言,相依變數 (或標籤) 與獨立變數 (或特徵) 之間的較高相互資訊,表示卷標與該功能的相互相依性較高。 它會將輸出功能中的頂端位置與標籤的最大相互資訊保留在輸出功能中。
例如,針對下列 [特徵] 和 [卷標] 數據行,如果我們指定我們想要前 2 個位置 (向量元素) 與標籤數據行具有較高關聯性,則套用此估算器的輸出只會保留第一個和第三個位置,因為它們的值會與 Label 數據行中的值相互關聯。
標籤 | 功能 |
---|---|
對 | 4,6,0 |
False | 0,7,5 |
對 | 4,7,0 |
False | 0,7,0 |
這是上述數據集在調整估算器之後的外觀,以及使用產生的轉換器轉換數據:
標籤 | 功能 |
---|---|
對 | 4,0 |
False | 0,5 |
對 | 4,0 |
False | 0,0 |
如需使用範例的連結,請參閱另請參閱一節。
方法
Fit(IDataView) |
定型並傳 ITransformer回 。 |
GetOutputSchema(SchemaShape) |
傳 SchemaShape 回由轉換器產生之架構的 。 用於管線中的架構傳播和驗證。 |
擴充方法
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
將「快取檢查點」附加至估算器鏈結。 這可確保下游估算器會針對快取的數據定型。 在接受多個數據通過的定型器之前,擁有快取檢查點會很有説明。 |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
假設有估算器,傳回包裝物件,一旦 Fit(IDataView) 呼叫委派即可。 估算器通常必須傳回符合專案的相關信息,這就是方法 Fit(IDataView) 傳回特定型別物件的原因,而不只是一般 ITransformer。 不過,同時 IEstimator<TTransformer> ,通常會形成具有許多物件的管線,因此我們可能需要透過 EstimatorChain<TLastTransformer> 建置估算器的鏈結,而我們想要取得轉換器的估算器會在此鏈結的某處被隱藏。 在該案例中,我們可以透過此方法附加呼叫一次將會呼叫的委派。 |