説明
LIBSVMは、サポートベクターマシン(SVM)のための包括的で使いやすいソフトウェアライブラリです。分類(C-SVC、nu-SVC)、回帰(epsilon-SVR、nu-SVR)、および分布推定(one-class SVM)の実装を提供します。このライブラリは、強力なツールとしてSVMを活用したい多様な分野のユーザーが利用しやすいように設計されています。
LIBSVMの主な機能には、効率的なマルチクラス分類機能とさまざまなSVM定式化のサポートが含まれます。線形、多項式、放射基底関数(RBF)、シグモイドなど、さまざまなカーネル関数を提供し、事前計算されたカーネル行列のオプションも備えています。不均衡データセットの処理のために、LIBSVMは重み付きSVMをサポートしています。また、モデル選択のためのクロスバリデーションと、分類および回帰タスクのための確率推定も提供しています。
LIBSVMはシンプルなインターフェースで設計されており、ユーザーは簡単に自身のプログラムに統合できます。C++およびJavaのソースコードが利用可能で、Python、R、MATLAB、Perl、Ruby、Weka、Common LISP、CLISP、Haskell、OCaml、LabVIEW、PHPなど、多数のプログラミング言語および環境向けのインターフェースが含まれています。さらに、C# .NETコードとCUDA拡張機能も利用可能であり、RapidMinerやPCPなどのデータマイニング環境にも統合されています。
このパッケージには、データスケーリングツールや、クロスバリデーション精度の等高線図を生成してパラメータ最適化を支援する`grid.py`スクリプトなどの自動モデル選択ツールが含まれています。このプロジェクトは成功したアプリケーションの歴史を持ち、開発者はIJCNN 2001 ChallengeやWCCI 2008 Causation and Prediction challengeを含むいくつかのコンペティションで優勝しています。最新バージョン3.37は2025年12月にリリースされ、継続的なアップデートとバグ修正が行われています。
LIBSVMは、堅牢で効率的で十分に文書化されたライブラリを提供することにより、SVMの使用を民主化することを目指しています。その広範な言語サポートと統合機能により、機械学習タスクに取り組む研究者や開発者にとって多用途な選択肢となっています。プロジェクトは、LIBSVMデータセットのページも維持しており、初心者向けの実践的なガイドも提供しています。
LIBSVMの主要機能
C-SVC、nu-SVC、one-class SVM、epsilon-SVR、nu-SVRをサポート
効率的なマルチクラス分類
さまざまなカーネル関数:線形、多項式、RBF、シグモイド
不均衡データ用の重み付きSVM
モデル選択のためのクロスバリデーション
確率推定
データスケーリングツールを含む
パラメータ最適化による自動モデル選択
C++およびJavaソースコード利用可能
Python、R、MATLAB、Perl、Ruby、Weka、LISP、Haskell、OCaml、LabVIEW、PHP、C#、CUDA、Node.js、Javascript、Scilab、Nimrod、Julia、Android、GO、Gretl向けのインターフェース
RapidMinerなどのデータマイニング環境に統合
pipやvcpkgなどのパッケージマネージャーからインストール可能
LIBSVMをはじめる
LIBSVMのダウンロード:公式ウェブサイトまたはGitHubリポジトリから最新リリースを入手します。
インターフェースのインストール:適切な言語インターフェースをインストールします(例:Pythonの場合は`pip install -U libsvm-official`)。
データの準備:トレーニングデータとテストデータをフォーマットし、必要に応じて提供されているスケーリングツールを使用します。
パラメータの設定:コマンドラインオプションまたはAPI呼び出しを使用して、SVMタイプ、カーネル、その他のパラメータを選択します。
モデルのトレーニング:LIBSVMライブラリまたはコマンドラインツールを使用してSVMモデルをトレーニングします。
モデルの評価:クロスバリデーションを実行するか、確率推定を使用してモデルのパフォーマンスを評価します。
統合:LIBSVMを独自のプログラムまたはデータマイニングワークフローにリンクします。
LIBSVMの使用例
- 分類タスク
- 回帰分析
- 分布推定
- パラメータ最適化
- データマイニング
- 機械学習研究
- 負荷予測
- 特徴選択




