【发布时间】:2020-09-17 06:29:02
【问题描述】:
我正在尝试使用 sklearn.svm.SVC 构建分类器,但我想在不同的特征子集上分别训练内核以更好地表示特征空间(如 here 所述)。
我已阅读用户指南 page 并且我知道我可以创建单个内核的总和的内核或将预先计算的内核 (kernel = 'precomputed') 输入 SVC,但我不明白我如何应用不同的内核不同的功能?有没有办法在sklearn 中实现这一点?
我找到了一种在 sklearn (https://scikit-learn.org/stable/modules/gaussian_process.html#gp-kernels) 中计算内核的方法,因此我可以分别计算每个集合的内核。但是,一旦我输出了距离矩阵,我不确定如何使用它来训练 SVM。
我是否必须创建一个自定义内核,例如:
if feature == condition1:
use kernel X
else:
use kernel Y
并将其添加到 SVM?
或者还有其他我可以使用的python库吗?
【问题讨论】:
标签: python-3.x machine-learning scikit-learn svm