サポート ベクター マシン (SVM) を使用して Python でデータを分類する

WBOY
リリース: 2023-08-30 11:25:02
転載
748 人が閲覧しました

使用支持向量机(Support Vector Machines,SVMs)在Python中对数据进行分类

サポート ベクター マシン (SVM) は、分類および回帰タスクに使用できる教師あり学習アルゴリズムです。

SVM は、さまざまな問題の解決に使用できる強力なアルゴリズムです。これらは、データが線形分離可能な問題を解決するのに特に適しています。ただし、SVM はカーネル技術を使用して、線形分離できないデータの問題を解決することもできます。

この記事では、SVM の背後にある理論を調査し、データ分類のために Python で SVM を実装する方法を示します。コードとその出力について詳しく説明し、必要な理論について説明します。

サポート ベクター マシン (SVM) について理解する

サポート ベクター マシンは、分類タスクと回帰タスクを実行できる教師あり学習モデルです。分類の場合、SVM の目標は、異なるクラスのデータ ポイントを分離する最適な超平面を見つけることです。最も近いデータ点からのマージンが最も大きい超平面が最良のセパレータとみなされます。これらの最も近いデータ ポイントはサポート ベクターとしても知られ、決定境界を定義する際に重要な役割を果たします。

SVM は、カーネル関数を使用してデータ ポイントを高次元空間にマッピングすることによって機能します。元の特徴空間でデータが線形分離できない場合でも、この変換により高次元空間で線形分離が可能になります。最も一般的に使用されるカーネル関数には、線形、多項式、動径基底関数 (RBF)、およびシグモイドが含まれます。

SVM を使用する利点

  • SVM は非常に正確です。

  • SVM はノイズに対して非常に堅牢です。

  • SVM は、データが線形分離できない問題を解決するために使用できます。

SVM を使用するデメリット

  • SVM は計算コストが高くなる可能性があります。

  • SVM はハイパーパラメータの影響を受ける可能性があります。

例 1

SVM は、scikit-learn ライブラリを使用して Python で実装できます。次のコードは、SVM 分類子を作成し、それをデータセットでトレーニングする方法を示しています。 リーリー

イラスト

  • 最初の行は、numpy ライブラリと sklearn.svm ライブラリをインポートします。

  • 2 行目は、data.csv ファイルから data という名前の変数にデータを読み込みます。

  • 3 行目は、データをトレーニング セットとテスト セットに分割します。トレーニング セットは分類子のトレーニングに使用され、テスト セットは分類子の精度の評価に使用されます。

  • 4 行目は SVM 分類子を作成します。

  • 5 行目は、トレーニング セットで分類器をトレーニングします。

  • 6 行目は、テスト セットのラベルを予測します。

  • 7 行目は、テスト セットのラベルに一致する予測の平均を計算することにより、分類器の精度を評価します。

  • 8 行目は、分類子の精度を出力します。

  • ###出力### リーリー
例 2

この例では、scikit-learn ライブラリを使用して Iris データセットを分類します。アヤメのデータセットには、がく片の長さ、がく片の幅、花弁の長さ、花弁の幅という 4 つの特徴が含まれています。目標は、それぞれの花を setosa、versicolor、または virginica の花として分類することです。

リーリー

イラスト

最初の行は、numpy ライブラリと sklearn.datasets ライブラリをインポートします。
  • 2 行目は、sklearn.datasets ライブラリから Iris データセットを iris という名前の変数に読み込みます。
  • 3 行目は SVM 分類子を作成します。
  • 4 行目は、Iris データセットで分類器をトレーニングします。
  • 5 行目は、Iris データセットのラベルを予測します。
  • 6 行目は、Iris データセット ラベルに一致する予測の平均を計算することにより、分類器の精度を評価します。
  • 7 行目は分類子の精度を出力します。
  • ###出力### リーリー ###結論は###

    この記事では、サポート ベクター マシン (SVM) の概念を検討し、scikit-learn を使用して Python で SVM 分類を実装する方法を示します。さまざまなクラスのデータ ポイントを分離するための最適な超平面を見つけるアイデアなど、サポート ベクター マシンの背後に必要な理論を紹介します。 scikit-learn によって提供される SVM 実装を活用することで、Iris データセットで SVM 分類器をトレーニングし、精度スコアを使用してそのパフォーマンスを評価することができました。

以上がサポート ベクター マシン (SVM) を使用して Python でデータを分類するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート