RBF SVM パラメータ調整

Machine LearningMachine LearningBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、放射状基底関数 (RBF) カーネル SVM のパラメータを調整する方法を示します。RBF カーネルの gammaC パラメータは、SVM モデルの性能にとって重要です。目的は、モデルの精度を最大化するこれらのパラメータの最適値を選ぶことです。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。

Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49258{{"RBF SVM パラメータ調整"}} end

データセットの読み込みと準備

  • scikit-learn から iris データセットを読み込む。
  • データを特徴量行列 X と目的ベクトル y に分離する。
  • StandardScaler を使って特徴量行列 X を標準化する。
  • X の最初の 2 つの特徴量のみを残し、データセットをサブサンプリングして 2 つのクラスのみを残し、2 値分類問題にすることで、決定関数の可視化のためのデータセットの簡略化バージョンを作成する。

分類器を学習する

  • np.logspace を使って、gammaC パラメータの対数グリッドを作成する。
  • StratifiedShuffleSplit を使って、データを学習用とテスト用に分割する。
  • GridSearchCV を使ってグリッドサーチを行い、SVM モデルの最適なパラメータを見つける。
  • 2D バージョンのすべてのパラメータに対して分類器をフィットさせる。

可視化

  • 入力特徴量が 2 つで目的クラスが 2 つの単純化された分類問題(2 値分類)において、さまざまなパラメータ値に対する決定関数を可視化する。
  • Cgamma の関数としての分類器の交差検証精度のヒートマップを可視化する。

解釈

  • 可視化の結果を解釈し、Cgamma の最適値を選ぶ。

まとめ

この実験では、放射基底関数 (RBF) カーネル SVM のパラメータを調整する方法を示しました。RBF カーネルの gammaC パラメータは、SVM モデルの性能にとって重要であり、グリッドサーチと可視化技術の組み合わせを使ってこれらのパラメータの最適値を見つけることができます。