【发布时间】:2016-01-24 07:37:21
【问题描述】:
我现在使用 sklearn 的 svm 模块的方式是使用它的默认值。但是,它对我的数据集并不是特别好。是否可以提供自定义损失函数或自定义内核?如果是这样,编写这样一个函数的方法是什么,以便它与 sklearn 的 svm 所期望的相匹配,以及如何将这样的函数传递给训练器?
有这个例子说明如何操作:
SVM custom kernel
此处引用的代码:
def my_kernel(x, y):
"""
We create a custom kernel:
(2 0)
k(x, y) = x ( ) y.T
(0 1)
"""
M = np.array([[2, 0], [0, 1.0]])
return np.dot(np.dot(x, M), y.T)
我想了解这个内核背后的逻辑。如何选择核矩阵? y.T 到底是什么?
【问题讨论】:
标签: python scikit-learn svm