2017-09-26 7 views
1

私の非線形分離可能なデータ用にSVM RBFカーネルを実装したいと思います。それを解決する方法SVMカスタムRBFカーネルIndexError

if X.shape[0] != X.shape[1]: IndexError: tuple index out of range

:エラーを示している

def rbf(va, vb): 
    gamma = 0.7 
    return exp(-gamma * linalg.norm(va - vb) ** 2) 
clf = svm.SVC(kernel=rbf) 
clf.fit(va, vb) 

:私は私のようカーネルを定義していますか?

+1

'va'と' vb'の形を印刷できますか? –

+0

vaは100x2で、vbは100x1です – kashf34Kashf

答えて

1

vavbのシェイプが一致しません。彼らは同じ形である必要があります。 RBFカーネルの構文は次の形式でなければなりません:

def rbf(va,vb) , where va are the feature of sample,say X and vb are the features of sample say X`.

VAとVBは、機能やラベルではありません。

this link on Githubに同様の実装を確認できます。彼はサンプルのすべてのペアをrbfカーネルに渡し、サンプルのフィーチャーとラベルは渡していないことがわかります。行番号に移動します。 95.

+0

なぜそうですか? vaはフィーチャーの数(2列)で、ラベルvb(1列)を生成します。 – kashf34Kashf

+0

@ kashf34Kashf私は自分の答えを更新しました。この回答があなたに役立った場合は、正解として受け入れることができますか? –

関連する問題