ゼファーネットのロゴ

Python の Scikit-Learn でさまざまな SVM バリアントを使用するためのガイド

日付:

サポート ベクター マシン (SVM) は、分類および回帰タスクに使用される一般的な機械学習アルゴリズムです。 SVM は、データをさまざまなクラスに分割する最適な超平面を見つけることによって機能します。 Python の Scikit-Learn ライブラリには、さまざまな種類のデータやタスクに使用できる SVM のバリアントがいくつかあります。 この記事では、Python の Scikit-Learn でさまざまな SVM バリアントを使用するためのガイドを提供します。

1. 線形SVM

Linear SVM は、SVM の最も基本的なバリアントです。 これは、データをさまざまなクラスに分割する最適な超平面を見つけることによって機能します。 線形 SVM は、クラスが直線で分離できる、線形分離可能なデータに適しています。 Scikit-Learn では、LinearSVC クラスを使用して線形 SVM を実装できます。

LinearSVC を使用するには、まず Scikit-Learn からそれをインポートする必要があります。

「パイソン

sklearn.svm から LinearSVC をインポート

「 `

次に、LinearSVC のインスタンスを作成し、データに適合させる必要があります。

「パイソン

clf = LinearSVC()

clf.fit(X_train, y_train)

「 `

ここで、X_train はトレーニング データ、y_train は対応するラベルです。 モデルがトレーニングされたら、それを使用して新しいデータのラベルを予測できます。

「パイソン

y_pred = clf.predict(X_test)

「 `

2. 多項式SVM

多項式 SVM は、非線形分離可能なデータに使用されます。 これは、多項式カーネル関数を使用してデータを高次元空間に変換することで機能します。 Scikit-Learn では、SVC クラスを使用して多項式 SVM を実装できます。

多項式カーネルで SVC を使用するには、カーネル パラメーターを 'poly' として指定し、次数パラメーターを多項式の次数に設定する必要があります。

「パイソン

sklearn.svm から SVC をインポート

clf = SVC(カーネル='ポリ'、次数=3)

clf.fit(X_train, y_train)

「 `

ここで、degree=3 は、XNUMX 次多項式カーネルを使用していることを意味します。 データに最適な値を見つけるために、度パラメータのさまざまな値を試してみることができます。

3. 放射基底関数 (RBF) SVM

RBF SVM は、非線形分離可能なデータに使用される SVM の別のバリエーションです。 これは、動径基底関数カーネルを使用してデータを高次元空間に変換することによって機能します。 Scikit-Learn では、SVC クラスを使用して RBF SVM を実装できます。

RBF カーネルで SVC を使用するには、カーネル パラメータを「rbf」として指定する必要があります。

「パイソン

clf = SVC(カーネル='rbf')

clf.fit(X_train, y_train)

「 `

RBF カーネルには、カーネルで使用されるガウス関数の幅を制御するガンマ パラメーターがあります。 さまざまなガンマ値を試して、データに最適な値を見つけることができます。

4. Nu サポート ベクター分類 (NuSVC)

NuSVC は、C の代わりに nu と呼ばれるパラメータを使用してマージンとサポート ベクターの数の間のトレードオフを制御する SVM のバリアントです。 Scikit-Learn では、NuSVC クラスを使用して NuSVC を実装できます。

NuSVC を使用するには、NuSVC のインスタンスを作成し、それをデータに適合させる必要があります。

「パイソン

sklearn.svm から NuSVC をインポート

clf = NuSVC()

clf.fit(X_train, y_train)

「 `

NuSVC には、トレーニング エラーの割合の上限とサポート ベクターの割合の下限を制御する nu と呼ばれるパラメータがあります。 nu のさまざまな値を試して、データに最適な値を見つけることができます。

まとめ

この記事では、Python の Scikit-Learn でさまざまな SVM バリアントを使用するためのガイドを提供しました。 線形 SVM、多項式 SVM、RBF SVM、および NuSVC について説明しました。 各バリアントは、さまざまな種類のデータやタスクに適しています。 さまざまなバリアントとパラメーターを試してみることで、データに最適な SVM モデルを見つけることができます。

スポット画像

最新のインテリジェンス

スポット画像