AttributeError using pyBrain _splitWithPortion - Objekttyp geändert?

Ich teste pybrain anhand des Tutorials zur grundlegenden Klassifizierung.Hie und eine andere Einstellung mit realistischeren DatenHie. Jedoch erhalte ich diesen Fehler, wenn ich trndata._convertToOneOfMany () mit dem Fehler anwende:

AttributeError: 'SupervisedDataSet' object has no attribute '_convertToOneOfMany

Der Datensatz wird als Klassifizierung erstellt.ClassificationDataSet-Objekt, der Aufruf von splitWithProportion scheint ihn jedoch zu ändern.SupervisedDataSet-Objekt. Da dieser Fehler für Python relativ neu ist, ist er keine Überraschung, da die Methode supervised.SupervisedDataSet nicht über diese Methode verfügt , Einteilung. EinteilungDataSet tut.Code hier.

Jedoch derselbe exakte Code wird in so vielen Tutorials verwendet, dass ich das Gefühl habe, etwas zu vermissen, da es bei vielen anderen Leuten funktioniert. Ich habe mir die Änderungen an der Codebasis von Github angeschaut und es gibt nichts um diese Funktion herum. Ich habe auch versucht, unter Python 3 gegen 2.7 zu laufen, aber keinen Unterschied. Wenn jemand irgendwelche Hinweise hat, um mich wieder auf den richtigen Weg zu bringen, wäre das sehr dankbar.

#flatten the 64x64 data in to one dimensional 4096
ds = ClassificationDataSet(4096, 1 , nb_classes=40)
for k in xrange(len(X)): #length of X is 400
    ds.addSample(np.ravel(X[k]),y[k])
    # a new sample consisting of input and target

print(type(ds))      
tstdata, trndata = ds.splitWithProportion( 0.25 )
print(type(trndata))

trndata._convertToOneOfMany()
tstdata._convertToOneOfMany()

Antworten auf die Frage(12)

Ihre Antwort auf die Frage