Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

分類学習器アプリを使用したサポート ベクター マシンの学習

この例では、2 つのクラスが含まれているionosphereデータセットを使用して分類学習器アプリでサポート ベクター マシン (SVM) 分類器を構築する方法を示します。分類学習器では、2 つ以上のクラスがあるサポート ベクター マシン (SVM) を使用できます。SVM では、あるクラスのすべてのデータ点を別のクラスのデータ点から分離する最適な超平面を探索することによりデータを分類します。ionosphereのデータでは、良好なレーダー反射を表すg、不良なレーダー反射を表すbという 2 つのレベルがあるカテゴリカル変数が応答変数です。

  1. MATLAB®ionosphereデータセットを読み込み,このデータセットに含まれている変数の一部を分類に使用するように定義します。

    loadionosphereionosphere = array2table(X); ionosphere.Group = Y;

    あるいは、ionosphereのデータセットを読み込み、XYのデータを個別の変数として保持することができます。

  2. [アプリ]タブの[機械学習および深層学習]グループで[分類学習器]をクリックします。

  3. [分類学習器]タブの[ファイル]セクションで、[新規セッション]、[ワークスペースから]をクリックします。

    [ワークスペースからの新規セッション] ダイアログ ボックスで、[データセット変数]のリストから tableionosphereを選択します。データ型に基づいて応答および予測子変数が選択されていることを確認します。応答変数Groupには、2 つのレベルがあります。他の変数はすべて予測子です。

    あるいは、予測子データXと応答変数Yを 2 つの個別の変数として保持している場合は、最初に[データセット変数]のリストから行列Xを選択できます。その後、[応答][ワークスペースから]オプション ボタンをクリックし、リストからYを選択します。Y変数は、Group変数と同じです。

  4. [セッションの開始]をクリックします。

    データの散布図が作成されます。

  5. 散布図を使用して、どの変数が応答の予測に有用であるかを可視化します。X 軸と Y 軸の制御で他の変数を選択します。クラスが最も明確に分離されるのはどの変数であるかを調べます。

  6. SVM モデルの選択肢を作成するため、[分類学習器]タブの[モデル タイプ]セクションで下矢印をクリックして分類器のリストを展開してから[サポート ベクター マシン][すべての SVM]をクリックします。

    次に、[学習]をクリックします。

    ヒント

    Parallel Computing Toolbox™ を使用している場合、[学習]セクションにある[並列の使用]ボタンを選択してから[学習]をクリックすることにより、すべてのモデル ([すべての SVM]) を同時に学習させることができます。[学習]をクリックすると [並列プールを開いています] ダイアログ ボックスが開いたままになります。同時に、ワーカーの並列プールが開きます。この間、ソフトウェアの対話的な操作はできません。プールが開いた後、モデルの学習が同時に行われます。

    ギャラリー内の最適化不可能な各 SVM 分類オプションの学習が 1 つずつ行われ、最高のスコアが強調表示されます。最適なモデルの[精度 (検証)]スコアの概要がボックスに表示されます。

  7. 結果を表示するため、[モデル]ペインでモデルを選択します。学習済みモデルの散布図を確認し、別の予測子のプロットを試します。誤分類された点は X で示されます。

  8. 各クラスにおける予測子の精度を調べるには、[分類学習器]タブの[プロット]セクションで[混同行列]をクリックし、[検証データ]を選択します。真のクラスと予測したクラスの結果が含まれている行列が表示されます。

  9. 比較する他のモデルを[モデル]ペインで選択します。

  10. 最適なモデルを選択します (最高のスコアがボックスで強調表示されます)。モデルを改善するため、異なる特徴量をモデルに含めます。予測力が低い特徴量を削除するとモデルを改善できるかどうか調べます。

    [分類学習器]タブの[特徴量]セクションで[特徴選択]をクリックします。[特徴選択] ダイアログ ボックスでモデルから削除する予測子を指定して[学習]をクリックすると、新しいオプションを使用して新しいモデルの学習が行われます。[モデル]ペインで各分類器の結果を比較します。

  11. 追加または除外する特徴量を調べるには、平行座標プロットを使用します。[分類学習器]タブの[プロット]セクションで、[平行座標]を選択します。

  12. [モデル]ペインで最適なモデルを選択します。モデルをさらに改善するため、SVM の設定を変更します。[分類学習器]タブの[モデル タイプ]セクションで[詳細設定]をクリックします。設定の変更を試してから、[学習]をクリックして新しいモデルに学習をさせます。設定についての詳細は、サポート ベクター マシンを参照してください。

  13. 学習済みのモデルをワークスペースにエクスポートするため、[分類学習器] タブを選択して[モデルのエクスポート]をクリックします。新しいデータを予測するための分類モデルのエクスポートを参照してください。

  14. この分類器に学習をさせるためのコードを確認するため、[関数の生成]をクリックします。SVM モデルについては、予測用の C コードの生成を参照してください。

このワークフローを使用すると、分類学習器で学習させることができる他のタイプの分類器を評価および比較できます。

選択したデータセットに対して使用できる事前設定済みの最適化不可能な分類器モデルをすべて試すには、次のようにします。

  1. [モデル タイプ]セクションの右端にある矢印をクリックして分類器のリストを展開します。

  2. [すべて]をクリックしてから[学習]をクリックします。

他の分類器のタイプについては、分類学習器アプリにおける分類モデルの学習を参照してください。

関連するトピック