PairwiseCouplingTrainer クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
IEstimator<TTransformer>指定した二項分類子を使用するペアワイズ結合多クラス分類子をトレーニングするためのものです。
public sealed class PairwiseCouplingTrainer : Microsoft.ML.Trainers.MetaMulticlassTrainer<Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.PairwiseCouplingModelParameters>,Microsoft.ML.Trainers.PairwiseCouplingModelParameters>
type PairwiseCouplingTrainer = class
inherit MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>, PairwiseCouplingModelParameters>
Public NotInheritable Class PairwiseCouplingTrainer
Inherits MetaMulticlassTrainer(Of MulticlassPredictionTransformer(Of PairwiseCouplingModelParameters), PairwiseCouplingModelParameters)
- 継承
-
MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>,PairwiseCouplingModelParameters>PairwiseCouplingTrainer
注釈
このトレーナーを作成するには、 PairwiseCoupling を使用します。
入力列と出力列
入力ラベル列のデータは キー 型である必要があり、特徴列は既知のサイズの Singleベクターである必要があります。
このトレーナーからは、以下の列が出力されます。
出力列の名前 | 列の型 | 説明 |
---|---|---|
Score |
Single のベクター | すべてのクラスのスコア。 値が大きいほど、関連するクラスに分類される可能性が高くなります。 i 番目の要素が最大値の場合、予測ラベル インデックスは i になります。 i はゼロベースのインデックスです。 |
PredictedLabel |
キー型 | 予測ラベルのインデックス。 その値が i の場合、実際のラベルはキーと値の入力ラベルの型の i 番目のカテゴリになります。 |
トレーナーの特性
機械学習タスク | 多クラス分類 |
正規化は必要ですか? | 基になるバイナリ分類子に依存する |
キャッシュは必要ですか? | はい |
Microsoft.ML に加えて必要な NuGet | なし |
ONNX にエクスポート可能 | いいえ |
トレーニング アルゴリズムの詳細
この戦略では、二項分類アルゴリズムがクラスの各ペアでトレーニングされます。 ペアは順序付けされていませんが、置換で作成されます。したがって、0、1、2 の 3 つのクラスがある場合は、ペア (0,0)、(0,1)、(0,2)、(1,1)、(1,2)、(2,2) の分類子をトレーニングします。 2 項分類子ごとに、入力データ ポイントがペアの 2 つのクラスのいずれかに存在する場合は正の例と見なされ、それ以外の場合は負の例と見なされます。 予測時には、クラスの各ペアの確率は、データが与えられたペアのいずれかのクラスにある確率と見なされ、クラスごとの最終的な予測確率は、例が特定のペアにある確率を考慮して計算されます。
これにより、多クラスの問題を解決するために使用 FastTreeBinaryTrainer するなど、自然に多クラス オプションがないトレーナーを悪用できます。 または、トレーナーが多クラス オプションを持っている場合でも、ML.NET で "より単純な" 問題を解決できますが、通常はメモリ制約のため、直接使用することは実用的ではありません。 たとえば、多クラスロジスティック回帰は、多クラスの問題を解決するためのより原則的な方法ですが、ペアワイズ結合分類モデルに必要な 1 つずつではなく、トレーナーがすべてのクラスの L-BFGS 履歴の形式で、より多くの中間状態を 同時に格納する必要があります。
使用例へのリンクについては、「参照」セクションを参照してください。
プロパティ
Info |
IEstimator<TTransformer>指定した二項分類子を使用するペアワイズ結合多クラス分類子をトレーニングするためのものです。 (継承元 MetaMulticlassTrainer<TTransformer,TModel>) |
メソッド
Fit(IDataView) |
データをトランスフォーマーに適合させる |
GetOutputSchema(SchemaShape) |
出力列を取得します。 (継承元 MetaMulticlassTrainer<TTransformer,TModel>) |
拡張メソッド
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
エスティメーター チェーンに 'キャッシュ チェックポイント' を追加します。 これにより、ダウンストリームエスティメーターがキャッシュされたデータに対してトレーニングされます。 複数のデータを受け取るトレーナーが渡す前にキャッシュ チェックポイントを設定すると便利です。 |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
エスティメーターを指定すると、デリゲートを 1 回 Fit(IDataView) 呼び出すラップ オブジェクトが呼び出されます。 多くの場合、エスティメーターが適合した内容に関する情報を返すことが重要です。そのため Fit(IDataView) 、メソッドは一般的 ITransformerなオブジェクトではなく、具体的に型指定されたオブジェクトを返します。 ただし、同時に、 IEstimator<TTransformer> 多くのオブジェクトを含むパイプラインに形成されることが多いため、トランスフォーマーを取得するエスティメーターがこのチェーンのどこかに埋もれる場所を介して EstimatorChain<TLastTransformer> 、推定器のチェーンを構築する必要がある場合があります。 このシナリオでは、このメソッドを使用して、fit が呼び出されると呼び出されるデリゲートをアタッチできます。 |