【问题标题】:SVM custom RBF kernel IndexErrorSVM 自定义 RBF 内核 IndexError
【发布时间】:2018-03-07 16:35:42
【问题描述】:

我想为我的非线性可分数据实现 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: 元组索引超出范围

如何解决?

【问题讨论】:

  • 可以打印vavb的形状吗?
  • va 为 100x2,vb 为 100x1

标签: python numpy machine-learning scikit-learn svm


【解决方案1】:

vavb 的形状不匹配。它们需要具有相同的形状。 rbf kernel 的语法格式如下:

def rbf(va,vb) ,其中va 是样本的特征,比如X,vb 是样本的特征,比如X`。

va 和 vb 不是特征和标签。

您可以查看this link on Github 以获得类似的实现。您可以看到他将所有样本对传递给 rbf 内核,而不是样本的特征和标签。转到行号。 95.

【讨论】:

    猜你喜欢
    • 2021-12-24
    • 2014-05-08
    • 2017-07-22
    • 2012-09-28
    • 2021-10-15
    • 2015-06-02
    • 2014-03-15
    • 2020-10-14
    • 2015-01-13
    相关资源
    最近更新 更多