AttributeError с использованием pyBrain _splitWithPortion - тип объекта изменился?
Я тестирую Pybrain, следуя базовому учебнику по классификацииВот и другой взгляд на это с некоторыми более реалистичными даннымиВот, Однако я получаю эту ошибку при применении trndata._convertToOneOfMany () с ошибкой:
AttributeError: 'SupervisedDataSet' object has no attribute '_convertToOneOfMany
Набор данных создается как объект классификация. КлассификацияDataSet, однако вызов функции splitWithProportion, по-видимому, меняет его supervised.SupervisedDataSet, поэтому, будучи довольно новым для Python, эта ошибка не кажется такой неожиданной, поскольку supervised.SupervisedDataSet не имеет такого метода, ification.ClassificationDataSet делает.Код здесь.
Однако один и тот же точный код используется во многих уроках, и я чувствую, что, должно быть, что-то упустил, так как многие другие работают. Я смотрел на изменения в кодовой базе на github, и в этой функции нет ничего, я также пытался работать под Python 3 против 2.7, но без разницы. Если у кого-нибудь есть указания, чтобы вернуть меня на правильный путь, это было бы очень признательно.
#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()