Я хочу выполнить классификацию SVM (т.е. OneClassSVM) с помощью sklearn.svm.OneClassSVM по физическим состояниям, которые поступают из другой библиотеки (tenpy). Я бы определил собственное ядро
def overlap(X,Y):
return np.array([[x.overlap(y) for y in Y] for x in X])
, где overlap () - это определенная функция в указанной библиотеке для вычисления перекрытия между состояниями. Когда я пытаюсь соответствовать моим данным
clf = OneClassSVM(kernel=overlap)
clf.fit(states)
, где состояния - это список таких объектов состояния, я получаю ошибку
TypeError: аргумент float () должен быть строкойили число, а не «MPS»
Есть ли способ сказать sklearn игнорировать этот тест (без редактирования исходного кода)?
Насколько я понимаю, природа данных и то, как они обрабатываются, принципиально не важна для алгоритма, пока существует четко определенное ядро для объектов.