2011-03-01 4 views
1

svm_modelをlibsvmを使ってsvm_trainから取得したら、モデルからrhoとSVを取得するにはどうすればよいですか?私はモデルを入手したときにこれらの値がプリントアウトされていることを知っていますが、私はどのようにSVを取得するのか分かりません。 例:今すぐsvm_model(Pythonで)からサポートベクトルとρ値を取得する方法は?

svm_model = svmutil.svm_train(Labels,X, svm_options) 

、svm_modelからロー値とのSVを取得する方法?

+0

私は上記の目的を何.... svm_modelはRhoとSVのためのアクセサを持っていたと思いましたその中に? – dfb

答えて

1

ほとんど1ヶ月後、svm_modelからrhoまたはSVを取得する方法がないことがわかりました。もし誰かが探していたら、scikit-learnを使ってサポートベクトル、デュアルインターセプト、およびrho値を手間をかけずに利用できます。さらに、Pythonのlibsvmの実装よりも高速で、numpyの配列と行列をサポートしています。

1

libSVMインストール自体に付属の実行可能ファイルsvm_train.exeを実行すると、出力ファイルとしてXXX.modelというモデルファイルが生成されます。このモデルをエディタで調べると、rho値とサポートベクトルのリストが見つかります。

C++/Cコードのように見えますが、この情報をオブジェクトから抽出するサポートはありません。

4

あなたはsvmutilパッケージを使用している場合は、次のようにあなたがサポートベクトル、係数およびRhoを得ることができ、

m = svmutil.svm_train(y, xs, "-s 3 -t 2") # EPSILON_SVR and RBF kernel 
rho = m.rho[0] 
svs = m.get_SV() # Dictionary with indices 1, 2 corresponding to i-th dim on support vector 
sv_coeffs = m.get_sv_coef() 
関連する問題