One-vs-All Multiclass

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

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

注意

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

このコンテンツは、Studio (クラシック) のみに関連しています。 Azure Machine Learning デザイナーに同様のドラッグアンドドロップモジュールが追加されました。 この記事では、2つのバージョンの比較について詳しく説明します。

モジュールの概要

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

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

One-vs モデルの詳細

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

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

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

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

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

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

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

モデルを結合するときに、トレーニングデータセットに複数のクラス値がある場合でも、 1 対すべての多クラス は複数の二項分類モデルを作成し、各クラスのアルゴリズムを最適化してから、モデルをマージします。

  1. Studio (クラシック) で実験に 1 対すべての多クラス を追加します。 このモジュールは、[ 分類 ] カテゴリの [Machine Learning-初期化] の下にあります。

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

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

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

  3. モデルの トレーニング モジュールを実験に追加し、 1 対すべての多クラス の出力である未トレーニングの分類器を接続します。

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

  5. 実験を実行するか、[ トレーニングモード l] を選択し、[ 選択された ものを実行] をクリックします。

結果

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

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

この学習アルゴリズムの使用例については、 Azure AI Galleryを参照してください。

想定される入力

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

出力

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

例外

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

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

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

関連項目

分類