Python 具有非numpy对象和自定义内核的Sklearn-SVM

Python 具有非numpy对象和自定义内核的Sklearn-SVM,python,scikit-learn,svm,physics,Python,Scikit Learn,Svm,Physics,我想用sklearn.SVM.OneClassSVM对来自不同库(tenpy)的物理状态进行SVM分类(即OneClassSVM)。我会定义一个自定义内核 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(st

我想用sklearn.SVM.OneClassSVM对来自不同库(tenpy)的物理状态进行SVM分类(即OneClassSVM)。我会定义一个自定义内核

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)
其中states是此类state对象的列表,我得到了错误

TypeError:float()参数必须是字符串或数字,而不是“MPS”

有没有办法告诉sklearn忽略此测试(不编辑源代码)

在我看来,只要对象有一个定义良好的内核,数据的性质及其处理方式原则上对算法并不重要