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 をサブクラス化しても問題ありません。