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

时间:2019-10-31 14:19:10

标签: 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])

其中overlay()是所述库中定义的函数,用于计算状态之间的重叠。当我尝试拟合数据时

clf = OneClassSVM(kernel=overlap)
clf.fit(states)

状态是此类状态对象的列表,我得到了错误

  

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

是否有一种方法可以告诉sklearn忽略此测试(不编辑源代码)?

据我所知,只要对象的内核明确,对算法的本质来说,数据的本质和处理方式就不是必需的。

0 个答案:

没有答案