2016-07-29 3 views
-2

Здесь я разработал классификатор нейронных сетей для решения титанической проблемы.Классификатор нейронной сети в python

from sknn.mlp import Classifier, Layer 

nn = Classifier(
    layers=[ 
     Layer("Maxout", units=100, pieces=2), 
     Layer("Softmax")], 
    learning_rate=0.001, 
    n_iter=25) 


nn.fit(X_train, y_train) 

У меня есть эта ошибка, я пробовал много, чтобы исправить ее, но со мной ничего не работает. Пожалуйста, помогите мне

TypeError: init() got an unexpected keyword argument 'pieces'

+0

Это можно было бы легко решить, глядя на возможные параметры для слоя() – Andy

ответ

0

Подпись Layer не определяет какой-либо аргумент называется pieces. Для того, чтобы создать два слоя с теми же параметрами, вы должны определить Layer объект дважды:

layers=[ 
    Layer("Sigmoid", units=100), 
    Layer("Sigmoid", units=100), 
    Layer("Softmax", units=1)] # The units parameter is not optional 

Более того, "Maxout" не похож на Layer типа. Не уверен, где вы это нашли.

Specifically, options are Rectifier , Sigmoid , Tanh , and ExpLin for non-linear layers and Linear or Softmax for output layers

+0

я нашел его здесь https://scikit-neuralnetwork.readthedocs.io/en/latest/guide_model.html#classification – Haifa

+0

I попробовали то, что вы предлагаете, но есть ошибка, AssertionError: Несоответствие между размером набора данных и единицами в выходном слое. – Haifa

Смежные вопросы