サポートベクターマシンの簡単なテスト、R言語はe1071パッケージで実現できます。これはRとpythonの両方の基本的なアルゴリズムです。
Pythonは、sklearnモジュールのSVMを介して実行されます
# sklearnからアイリスデータセットをインポートします
# はい、アイリスは私のお気に入りです
from sklearn.datasets import load_iris
import sklearn
import numpy as np
from sklearn import model_selection
iris=load_iris()
iris.keys()
# データのシンプルなビュー
# ケースと機能の数
n_samples,n_features=iris.data.shape
print("Number of sample:", n_samples)print("Number of feature",n_features)
Number of sample:150
Number of feature 4
# 分割テストとトレーニングセット
# 比率は0です.6
x_train, x_test, y_train, y_test = sklearn.model_selection.train_test_split(iris.data, iris.target, random_state=1, train_size=0.6)
# 分類子を作成する
# kernel='rbf'カーネル関数はガウスです
# ガンマが大きいほど、オーバーフィットしやすくなります
# decision_function_shape:one vs one,マルチカテゴリ、ovr:1対残り,1つのカテゴリともう1つのカテゴリ
clf = svm.SVC(C=0.8, kernel='rbf', gamma=20, decision_function_shape='ovo')
# 分類器の取り付け
clf.fit(x_train, y_train)
SVC(C=0.8, cache_size=200, class_weight=None, coef0=0.0,
decision_function_shape='ovo', degree=3, gamma=20, kernel='rbf',
max_iter=-1, probability=False, random_state=None, shrinking=True,
tol=0.001, verbose=False)
# 評価モデル
# トレーニングの正確さ
print("SVM-出力トレーニングセットの精度は次のとおりです。",clf.score(x_train, y_train))
# テストセットの精度
print("SVM-出力テストセットの精度は次のとおりです。",clf.score(x_test,y_test))
SVM-出力トレーニングセットの精度は次のとおりです。1.0
SVM-出力テストセットの精度は次のとおりです:0.85
簡単なテスト、フォローアップ補足
love&peace
Recommended Posts