SVM は一般的に使用される分類アルゴリズムであり、機械学習とデータ マイニングの分野で広く使用されています。 Python では、SVM の実装は非常に便利で、関連するライブラリを使用することで完了できます。
この記事では、データの前処理、モデルのトレーニング、パラメーターの調整など、Python での分類に SVM を使用する方法を紹介します。
1. データの前処理
分類に SVM を使用する前に、データが SVM アルゴリズムの要件を満たしていることを確認するためにデータを前処理する必要があります。通常、データの前処理には次の側面が含まれます。
2. モデルのトレーニング
データの前処理が完了したら、モデルのトレーニングを開始できます。 Python では、モデルのトレーニングに SVM 関連のライブラリを使用できます。
モデルをトレーニングする前に、関連するライブラリをインポートする必要があります:
import numpy as np
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.metrics import precision_score
次に、データをロードして続行する必要があります。トレーニング セットとテスト セットの分割:
data = np.loadtxt('data.txt', delimiter=',')
X = data[:, :-1]
y = data[:, -1]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
data.txt はデータ ファイルであり、loadtxt 関数を使用してロードできます。 。 train_test_split 関数は、データをトレーニング セットとテスト セットにランダムに分割するために使用され、test_size パラメーターはテスト セットの比率を指定します。
次に、モデル トレーニングを開始できます:
clf = SVC(C=1.0, kernel='rbf' , gamma= 'auto')
clf.fit(X_train, y_train)
このうち、C パラメータは正則化係数、カーネル パラメータは使用するカーネル関数を指定し、ガンマ パラメータは制御に使用されます。カーネル関数の影響レベル。この例では、RBF カーネル関数を使用します。
トレーニングが完了したら、モデルの評価を実行する必要があります:
y_pred = clf.predict(X_test)
acc = precision_score (y_test, y_pred)
print('Accuracy:', acc)
このうち、accuracy_score 関数はモデルの精度を計算するために使用されます。
3. パラメーターの調整
モデルのトレーニング後、パラメーターの調整を実行して、モデルの分類効果をさらに向上させることができます。 SVM で一般的に使用されるパラメーター調整方法には、グリッド検索と相互検証が含まれます。
グリッド検索は、考えられるすべてのパラメーターの組み合わせを横断して最適なパラメーターの組み合わせを検索する総当たり検索方法です。 Python では、GridSearchCV 関数を使用してグリッド検索を実装できます。
from sklearn.model_selection import GridSearchCV
param_grid = {'C': [0.1, 1.0, 10.0],
'kernel': ['linear', 'rbf'], 'gamma': ['auto', 0.1, 0.01]}
gs = GridSearchCV(SVC(), param_grid, cv=5)
gs.fit(X_train, y_train)
print ('Best:', gs.best_params_)
このうち、param_grid はパラメータの範囲を指定し、cv パラメータは相互検証の数を指定します。実行が完了すると、最適なパラメータの組み合わせを出力できます。
相互検証は、サンプリングを繰り返してモデルのパフォーマンスを検証する方法です。 Python では、cross_val_score 関数を使用して相互検証を実装できます。
from sklearn.model_selection importcross_val_score
scores =cross_val_score(clf, X_train, y_train, cv=5)
print('CV スコア:', スコア)
このうち、cv パラメータは相互検証の数を指定します。実行が完了したら、相互検証の結果を出力できます。
4. 概要
この記事では、データの前処理、モデルのトレーニング、パラメーターの調整など、Python での分類に SVM を使用する方法を紹介します。分類問題は SVM を使用して効果的に解決でき、Python の関連ライブラリも SVM を実装するための便利なツールを提供します。この記事が分類に SVM を使用する際の読者の役に立つことを願っています。
以上がPython で分類に SVM を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。