FastTreeBinaryTrainer クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
IEstimator<TTransformer> FastTree を使用してデシジョン ツリーのバイナリ分類モデルをトレーニングする場合。
public sealed class FastTreeBinaryTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options,Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.FastTree.FastTreeBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>,Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.FastTree.FastTreeBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>
type FastTreeBinaryTrainer = class
inherit BoostingFastTreeTrainerBase<FastTreeBinaryTrainer.Options, BinaryPredictionTransformer<CalibratedModelParametersBase<FastTreeBinaryModelParameters, PlattCalibrator>>, CalibratedModelParametersBase<FastTreeBinaryModelParameters, PlattCalibrator>>
Public NotInheritable Class FastTreeBinaryTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeBinaryTrainer.Options, BinaryPredictionTransformer(Of CalibratedModelParametersBase(Of FastTreeBinaryModelParameters, PlattCalibrator)), CalibratedModelParametersBase(Of FastTreeBinaryModelParameters, PlattCalibrator))
- 継承
注釈
このトレーナーを作成するには、 FastTree または FastTree(Options) を使用します。
入力列と出力列
入力ラベル列データは Boolean にする必要があります。 入力特徴列データは、既知のサイズの Singleベクターである必要があります。
このトレーナーからは、以下の列が出力されます。
出力列の名前 | 列の型 | 説明 | |
---|---|---|---|
Score |
Single | モデルによって計算された無制限のスコア。 | |
PredictedLabel |
Boolean | スコアの符号に基づく予測ラベル。 負のスコアは false にマップされ、正のスコアは true にマップされます。 |
|
Probability |
Single | ラベルとして true を持つスコアを調整することによって計算される確率。 確率値の範囲は [0, 1] です。 |
トレーナーの特性
機械学習タスク | 二項分類 |
正規化は必要ですか? | いいえ |
キャッシュは必要ですか? | いいえ |
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 |
トレーナーが期待するラベル列。 できます |
WeightColumn |
トレーナーが期待する重み列。 できます。 |
プロパティ
Info |
IEstimator<TTransformer> FastTree を使用してデシジョン ツリーのバイナリ分類モデルをトレーニングする場合。 (継承元 FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
メソッド
Fit(IDataView, IDataView) |
トレーニングデータと検証データの FastTreeBinaryTrainer 両方を使用してトレーニングを行い、 BinaryPredictionTransformer<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>) |
エスティメーターを指定すると、デリゲートを 1 回 Fit(IDataView) 呼び出すラップ オブジェクトが呼び出されます。 多くの場合、エスティメーターが適合した内容に関する情報を返すことが重要です。そのため Fit(IDataView) 、メソッドは一般的 ITransformerなオブジェクトではなく、具体的に型指定されたオブジェクトを返します。 ただし、同時に、 IEstimator<TTransformer> 多くのオブジェクトを含むパイプラインに形成されることが多いため、トランスフォーマーを取得するエスティメーターがこのチェーンのどこかに埋もれる場所を介して EstimatorChain<TLastTransformer> 、推定器のチェーンを構築する必要がある場合があります。 このシナリオでは、このメソッドを使用して、fit が呼び出されると呼び出されるデリゲートをアタッチできます。 |