【问题标题】:Obtain support vectors with custom kernel使用自定义内核获取支持向量
【发布时间】:2018-02-10 10:53:52
【问题描述】:

在 scikit learn 中,使用带有自定义内核的分类器 SVM SVC,如示例:

clf = svm.SVC(kernel = my_ker, C=0.01) 

my_ker 在哪里(仅用于说明目的,我并不暗示这是一个有效或无效的内核):

z = (1 + np.dot(x, np.transpose(y)) )**2 

我没有找到如何获取支持向量:调用

print(clf.support_vectors_)

返回

[]

如何获得支持向量?

【问题讨论】:

  • 你拟合数据了吗?能贴出完整的代码吗?
  • @VivekKumar 是的,分类器适合数据。似乎使用自定义内核,support_vectors_ 返回一个空数组。使用 2 次(非自定义)多项式内核(例如: clf = svm.SVC(kernel = 'poly', degree = 2, C = 0.01) )返回支持向量。
  • clf.support_ 工作正常,所以这似乎是一个错误。

标签: python machine-learning scikit-learn


【解决方案1】:

clf.fit(X, y)clf.support_vectors_ 之前的函数调用。支持向量是使用fit 方法学习的。

【讨论】:

  • 这不能回答问题。
猜你喜欢
  • 2018-07-09
  • 1970-01-01
  • 2016-02-20
  • 2011-08-25
  • 2012-10-12
  • 2020-10-01
  • 2015-05-31
  • 2014-09-24
  • 1970-01-01
相关资源
最近更新 更多