Я пытаюсь создать классификатор, используя sklearn.svm.SVC
, но я хотел бы обучить ядро отдельно для разных подмножеств функций, чтобы лучше представить пространство функций (как описано здесь ).
Я прочитал Руководство пользователя page и понимаю, что могу создавать ядра, которые представляют собой суммы отдельных ядер, или передавать в SV C предварительно вычисленное ядро (kernel = 'precomputed'
), но я не понимаю, как применять разные ядра к разным функциям? Есть ли способ реализовать это в 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 библиотеки, которые я мог бы использовать для этого?