FastTreeRankingTrainer クラス

定義

FastTree を使用してデシジョン ツリーのランク付けモデルをトレーニングするための IEstimator<TTransformer>

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)を使用します。

入力列と出力列

入力ラベルのデータ型は、キー 型または Singleでなければなりません。 ラベルの値によって関連性が決まります。値が大きいほど関連性が高いことを示します。 ラベルが キー 型の場合、キー インデックスは関連性の値であり、最も小さいインデックスは最も関連性が低い値です。 ラベルが Singleの場合、値が大きいほど関連性が高いことを示します。 特徴列は、 Single の既知のサイズのベクターである必要があり、入力行グループ列は キー 型である必要があります。

このトレーナーは、次の列を出力します。

[出力列の名前] 列の種類 説明
Score Single 予測を決定するためにモデルによって計算された無制限のスコア。

トレーナーの特性

機械学習タスク Ranking
正規化は必要ですか? No
キャッシュは必要ですか? No
Microsoft.ML に加えて必要な NuGet Microsoft.ML.FastTree
ONNX にエクスポート可能 No

トレーニング アルゴリズムの詳細

FastTree は、 MART 勾配ブースティング アルゴリズムの効率的な実装です。 勾配ブースティングは、回帰問題の機械学習手法です。 各回帰ツリーを段階的に構築し、定義済みの損失関数を使用して各ステップのエラーを測定し、次のステップで修正します。 したがって、この予測モデルは、実際には弱い予測モデルのアンサンブルです。 回帰問題では、ブーストによって一連のツリーが段階的に構築され、任意の異なる損失関数を使用して最適なツリーが選択されます。

MART は回帰ツリーのアンサンブルを学習します。これは、葉にスカラー値を含むデシジョン ツリーです。 デシジョン (回帰) ツリーは、バイナリ ツリーに似たフロー チャートです。各内部ノードでは、入力の特徴値の 1 つに基づいて、2 つの子ノードのうちどれを続行するかを決定します。 各リーフ ノードで、値が返されます。 内部ノードでは、決定はテスト x <= v に基づいて決定されます。ここで、x は入力サンプルの特徴の値であり、v はこの機能の可能な値の 1 つです。 回帰ツリーによって生成できる関数は、すべて段階的な定数関数です。

ツリーのアンサンブルは、各ステップで、損失関数の勾配を近似する回帰ツリーを計算し、新しいツリーの損失を最小限に抑える係数を持つ前のツリーに追加することによって生成されます。 特定のインスタンスで MART によって生成されるアンサンブルの出力は、ツリー出力の合計です。

  • 二項分類の問題が発生した場合、出力は何らかの形式の調整を使用して確率に変換されます。
  • 回帰の問題が発生した場合、出力は関数の予測値です。
  • ランク付けの問題が発生した場合、インスタンスはアンサンブルの出力値で並べ替えられます。

詳細については、以下を参照してください。

使用例へのリンクについては、「関連項目」セクションを参照してください。

フィールド

名前 説明
FeatureColumn

トレーナーが期待する特徴列。

(継承元 TrainerEstimatorBase<TTransformer,TModel>)
GroupIdColumn

ランク付けトレーナーが期待する省略可能な groupID 列。

(継承元 TrainerEstimatorBaseWithGroupId<TTransformer,TModel>)
LabelColumn

トレーナーが期待するラベル列。 nullできます。これは、ラベルがトレーニングに使用されていないことを示します。

(継承元 TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

トレーナーが期待する重み列。 nullできます。これは、トレーニングに重みが使用されていないことを示します。

(継承元 TrainerEstimatorBase<TTransformer,TModel>)

プロパティ

名前 説明
Info

FastTree を使用してデシジョン ツリーのランク付けモデルをトレーニングするための IEstimator<TTransformer>

(継承元 FastTreeTrainerBase<TOptions,TTransformer,TModel>)

メソッド

名前 説明
Fit(IDataView, IDataView)

トレーニング データと検証データの両方を使用して FastTreeRankingTrainer をトレーニングし、 RankingPredictionTransformer<TModel>を返します。

Fit(IDataView)

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

(継承元 TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

FastTree を使用してデシジョン ツリーのランク付けモデルをトレーニングするための IEstimator<TTransformer>

(継承元 TrainerEstimatorBase<TTransformer,TModel>)

拡張メソッド

名前 説明
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

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

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

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

適用対象

こちらもご覧ください