FastTreeRankingTrainer クラス

定義

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(オプション) を使用します。

入力列と出力列

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

このトレーナーからは、以下の列が出力されます。

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

トレーナーの特性

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

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

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

MART では回帰ツリーのアンサンブルを学習します。これは、そのリーフにスカラー値を持つデシジョン ツリーです。 デシジョン (または回帰) ツリーはバイナリ ツリーのようなフロー チャートです。内部の各ノードで、入力されたいずれかの特徴の値に基づいて、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

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

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

メソッド

Fit(IDataView)

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

(継承元 TrainerEstimatorBase<TTransformer,TModel>)
Fit(IDataView, IDataView)

トレーニングデータと検証データの FastTreeRankingTrainer 両方を使用してトレーニングを行い、 RankingPredictionTransformer<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> 、推定器のチェーンを構築する必要がある場合があります。 このシナリオでは、このメソッドを使用して、fit が呼び出されると呼び出されるデリゲートをアタッチできます。

適用対象

こちらもご覧ください