FastTreeRankingTrainer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
, IEstimator<TTransformer> 用於使用 FastTree 來定型決策樹排名模型。
public sealed class FastTreeRankingTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options,Microsoft.ML.Data.RankingPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>
type FastTreeRankingTrainer = class
inherit BoostingFastTreeTrainerBase<FastTreeRankingTrainer.Options, RankingPredictionTransformer<FastTreeRankingModelParameters>, FastTreeRankingModelParameters>
Public NotInheritable Class FastTreeRankingTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRankingTrainer.Options, RankingPredictionTransformer(Of FastTreeRankingModelParameters), FastTreeRankingModelParameters)
- 繼承
備註
若要建立此定型器,請使用 FastTree 或 FastTree (Options) 。
輸入和輸出資料行
輸入標籤資料類型必須是 key 類型或 Single。 標籤的值會決定相關性,其中較高值會指出較高的相關性。 若標籤是 key 類型,則索引鍵的索引是相關性值,其中最小的索引表示最不相關。 若標籤是 Single,則較大的值表示相關性較高。 特徵資料行必須是 的已知大小向量 Single ,而且輸入資料列群組資料行必須是 索引鍵 類型。
此定型器會輸出下列資料行:
輸出資料行名稱 | 資料行類型 | 描述 |
---|---|---|
Score |
Single | 模型計算的未系結分數,以判斷預測。 |
定型器特性
機器學習工作 | 次序 |
是否需要正規化? | 否 |
是否需要快取? | 否 |
除了 Microsoft.ML 之外,還需要 NuGet | Microsoft.ML.FastTree |
可匯出至 ONNX | 否 |
定型演算法詳細資料
FastTree 是 MART 漸層提升演算法的有效實作。 梯度提升是一種適用於迴歸問題的機器學習技術。 它會以逐步方式建置每個迴歸樹狀結構,並使用預先定義的遺失函式來測量每個步驟的錯誤,並在下一個步驟中加以更正。 因此,此預測模型實際上是較弱的預測模型集合。 在回歸問題中,提升會以逐步方式建置一系列的這類樹狀結構,然後使用任意可區分的遺失函式選取最佳樹狀結構。
MART 會學習迴歸樹狀結構,這是在其葉中具有純量值的決策樹。 判定 (或回歸) 樹狀結構是一種二進位樹狀結構型流程圖,其中每個內部節點一個決定兩個子節點中的哪一個會繼續根據輸入的其中一個特徵值。 在每個分葉節點上,會傳回一個值。 在內部節點中,決策是以測試 x = v 為基礎,其中 x < 是輸入範例中特徵的值,而 v 是此功能的其中一個可能值。 迴歸樹狀結構可產生的函數是所有分段常數函數。
樹狀結構組合是由計算所產生,而在每個步驟中,都會有一個迴歸樹狀結構,其近似損失函式的漸層,並將它新增至上一個樹狀結構,其係數會最小化新樹狀結構的損失。 MART 在給定實例上產生的集團輸出是樹狀輸出的總和。
- 如果是二元分類問題,則會使用某種形式的校正,將輸出轉換成機率。
- 如果是回歸問題,輸出就是函式的預測值。
- 如果發生排名問題,實例會依 ensemble 的輸出值排序。
如需詳細資訊,請參閱:
如需使用方式範例的連結,請參閱另請參閱一節。
欄位
FeatureColumn |
定型器預期的功能資料行。 (繼承來源 TrainerEstimatorBase<TTransformer,TModel>) |
GroupIdColumn |
排名定型器預期的選擇性 groupID 資料行。 (繼承來源 TrainerEstimatorBaseWithGroupId<TTransformer,TModel>) |
LabelColumn |
定型器預期的標籤資料行。 可以是 |
WeightColumn |
定型器預期的加權資料行。 可以是 |
屬性
Info |
, IEstimator<TTransformer> 用於使用 FastTree 來定型決策樹排名模型。 (繼承來源 FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
方法
Fit(IDataView, IDataView) |
FastTreeRankingTrainer使用定型和驗證資料來定型 , 會 RankingPredictionTransformer<TModel> 傳回 。 |
Fit(IDataView) |
定型並傳 ITransformer 回 。 (繼承來源 TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
, IEstimator<TTransformer> 用於使用 FastTree 來定型決策樹排名模型。 (繼承來源 TrainerEstimatorBase<TTransformer,TModel>) |
擴充方法
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
將「快取檢查點」附加至估算器鏈結。 這可確保下游估算器會針對快取的資料定型。 在接受多個資料通過的定型器之前,先有快取檢查點會很有説明。 |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
指定估算器時,傳回包裝物件,一旦 Fit(IDataView) 呼叫委派即可。 估算器通常務必傳回符合專案的相關資訊,這就是 Fit(IDataView) 方法傳回特定型別物件的原因,而不是只傳回一般 ITransformer 。 不過,同時, IEstimator<TTransformer> 通常會形成具有許多物件的管線,因此我們可能需要透過建置估算器的鏈結,而我們想要取得轉換器的估算器 EstimatorChain<TLastTransformer> 會在此鏈結的某處放置。 在該案例中,我們可以透過這個方法附加呼叫一次會呼叫的委派。 |