One-vs-All Multiclass

重要

Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。

2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。

ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。

二項分類モデルのアンサンブルから多クラス分類モデルを作成します

カテゴリ: Machine Learning/ モデルの初期化 / 分類

注意

適用対象: Machine Learning Studio (クラシック) のみ

類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。

モジュールの概要

この記事では、Machine Learning Studio (クラシック) で One-Vs-All Multiclass モジュールを使用して、"one vs. all" アプローチを使用して複数のクラスを予測できる分類モデルを作成する方法について説明します。

このモジュールは、結果が連続またはカテゴリ予測変数に依存する場合に、考えられる 3 つ以上の結果を予測するモデルを作成する際に役立ちます。 また、この方法では、複数の出力クラスを必要とする問題に二項分類法を使用することもできます。

one-vs.all モデルの詳細

分類アルゴリズムには、3 つ以上のクラスの使用が仕様で許可されているものもあれば、考えられる結果を 2 つの値のいずれかに制限する (バイナリ (2 クラス) モデル) ものもあります。 ただし、二項分類アルゴリズムでも、さまざまな戦略を使用して多クラス分類タスクに適合させることができます。

このモジュールは一対全メソッドを実装します。このメソッドでは、複数の出力クラスのそれぞれに二項モデルが作成されます。 個々のクラスのこれらの各バイナリ モデルは、二項分類の問題と同様に、その補集合 (モデルの他のすべてのクラス) に対して評価されます。 次に、これらの二項分類子を実行し、信頼度スコアが最も高い予測を選択することで、予測が行われます。

本質的に、個々のモデルのアンサンブルが作成され、結果がマージされて、すべてのクラスを予測する単一のモデルが作成されます。 したがって、任意の二項分類子を one-vs-all モデルの基礎として使用できます。

たとえば、2 クラス サポート ベクター マシン モデルを構成し、それを One-Vs-All 多クラス モジュールへの入力として提供するとします。 モジュールにより、出力クラスのすべてのメンバーに対して 2 クラス サポート ベクター マシン モデルが作成され、one-vs-all 法を適用してすべてのクラスの結果が結合されます。

One-vs-All 分類子を構成する方法

このモジュールでは、複数のクラスを分析するための二項分類モデルのアンサンブルが作成されます。 そのため、このモジュールを使用するには、まず二項分類モデルを構成してトレーニングする必要があります。

次に、バイナリ モデルを One-Vs-All 多クラス モジュールに接続し、ラベル付けされたトレーニング データセットでモデルのトレーニングを使用してモデルのアンサンブルをトレーニングします。

モデルを組み合わせると、トレーニング データセットに複数のクラス値がある場合でも、 One-Vs-All Multiclass は複数の二項分類モデルを作成し、クラスごとにアルゴリズムを最適化してから、モデルをマージします。

  1. Studio ( クラシック) で One-Vs-All Multiclass を実験に追加します。 このモジュールは、[分類] カテゴリの [Machine Learning - 初期化] の下に表示されます。

    One-Vs-All 多クラス分類子には、独自の構成可能なパラメーターはありません。 カスタマイズは、入力として提供される二項分類モデルで行う必要があります。

  2. 二項分類モデルを実験に追加し、そのモデルを構成します。 たとえば、2 クラス サポート ベクター マシンまたは 2 クラス ブースト デシジョン ツリーを使用できます。

    適切なアルゴリズムの選択に関するヘルプが必要な場合は、次のリソースを参照してください。

  3. モデルの トレーニング モジュール を実験に追加し、 One-Vs-All Multiclass の出力であるトレーニングされていない分類子を接続します。

  4. モデルのトレーニングのもう一方の入力で、複数のクラス値を含むラベル付きトレーニング データセットを接続します。

  5. 実験を実行するか、または [ Train Model]を選択して [ Run Selected]をクリックします。

結果

トレーニングが完了したら、モデルを使用して多クラス予測を行うことができます。

または、トレーニングされていない分類子をモデルのクロス検証に渡して、ラベル付き検証データセットに対するクロス検証を行うこともできます。

例

この学習アルゴリズムの使用例については、次の記事を Azure AI Gallery。

想定される入力

名前 型 説明
未トレーニング二項分類モデル ILearner インターフェイス 未トレーニング二項分類モデル

出力

名前 型 説明
未トレーニング モデル ILearner インターフェイス 未トレーニングの多クラス分類

例外

例外 説明
エラー 0013 モジュールに渡された学習器が無効な型の場合、例外が発生します。

Studio (クラシック) モジュールに固有のエラーの一覧については、「エラー コードMachine Learning参照してください。

API の例外の一覧については、「エラー コードMachine Learning REST API参照してください。

こちらもご覧ください

分類