我想使用sklearn.svm.OneClassSVM对来自不同库(tenpy)的物理状态进行SVM分类(即OneClassSVM)。我要定义一个自定义内核
def overlap(X,Y):
return np.array([[x.overlap(y) for y in Y] for x in X])
其中overlay()是所述库中定义的函数,用于计算状态之间的重叠。当我尝试拟合数据时
clf = OneClassSVM(kernel=overlap)
clf.fit(states)
状态是此类状态对象的列表,我得到了错误
TypeError:float()参数必须是字符串或数字,而不是'MPS'
是否有一种方法可以告诉sklearn忽略此测试(不编辑源代码)?
据我所知,只要对象的内核明确,对算法的本质来说,数据的本质和处理方式就不是必需的。