2011-10-21 6 views
1

2つのクラスの間でいくつかの値を分類する必要があります。 トレーニングセットとして使用できる約30の値があり、各値には10の異なるディメンションがあります。 libSVM(Pythonで)を使用していますが、かなりうまく機能しているようです。LibSVMモデルの解釈

私は、いくつかの次元が分類プロセスの他のものよりも「重要」であると考えているので、libSVMによって計算されたモデルにも解釈を与えようとしています。

y, x = [1,1,1,-1,-1,-1],[[1,-1],[1,0],[1,1],[-1,-1],[-1,0],[-1,1]] 
prob = svm_problem(y, x) 
param = svm_parameter() 
param.kernel_type = LINEAR 
param.C = 10 
m = svm_train(prob, param) 
svm_save_model('model_file', m) 

Xリストの要素の第2次元は、このデータセットを分類することが無用であることは明らかである:

はたとえば、次の例を考えてみましょう。

私の質問は:

はLIBSVMにより生成されたモデルを分析する状況これらの種類を検出するための任意の体系的な方法はありますか?

答えて

0
少し遅れて

、しかし:

機能が重要であるかないかどうかを確認するためにあなたの責任である - ので、あなたは彼らがあなたのアプリケーションの要件を満たしていることを手動で機能を選択する必要があります。 SVMは、あなたが入れた機能をもって最良の結果を得ようとします。その選択がより明確になりますが(しかし多分間違っているかもしれないから)、与えられたデータを無視することはあまり意味がありません。

あなたはどの機能が優れているか知ることができません。あなたは手で/脳でそれらを見つけなければなりません。