我想继承从 mlpy 机器学习包导出的 LibSvm 对象类:
from mlpy import MaximumLikelihoodC, LibSvm
class Svm(LibSvm):
def __init__(self,Gs,ls):
self._K = ls.shape[1]
self._Gs = Gs
self._N = Gs.shape[1]
self._ls = ls
LibSvm.__init__('c_svc','rbf',\
gamma=1.0/self._N,C=100,probability=True)
当我调用构造函数时,例如,
svm = Svm(Gs,ls)
解释器忽略我的init并执行 LibSvm 的init方法,给出错误
svm = SVM(Gs,ls)
File "libsvm.pyx", line 146, in mlpy.libsvm.LibSvm.__cinit__ mlpy/libsvm/libsvm.c:1803)
ValueError: invalid svm_type
使用相同的语法对 MaximumLikelihoodC 进行子类化没有问题。