我想为我的非线性可分数据实现SVM RBF内核 . 我已将我的内核定义为:
def rbf(va, vb): gamma = 0.7 return exp(-gamma * linalg.norm(va - vb) ** 2) clf = svm.SVC(kernel=rbf) clf.fit(va, vb)
它显示错误:
如果X.shape [0]!= X.shape [1]:IndexError:元组索引超出范围
怎么解决?
va 和 vb 的形状不匹配 . 它们需要具有相同的形状 . rbf内核的语法应该是以下形式:
va
vb
def rbf(va,vb),其中va是样本的特征,比如X和vb是样本说X`的特征 .
va和vb不是功能和标签 .
您可以检查this link on Github以获得类似的实现 . 您可以看到他将所有样本对传递给rbf内核,而不是样本的特征和标签 . 去行号 . 95 .
1 回答
va
和vb
的形状不匹配 . 它们需要具有相同的形状 . rbf内核的语法应该是以下形式:va和vb不是功能和标签 .
您可以检查this link on Github以获得类似的实现 . 您可以看到他将所有样本对传递给rbf内核,而不是样本的特征和标签 . 去行号 . 95 .