2016-12-08 5 views
0

Я использую многослойный классификатор восприятия, используя Apache Spark Mllib. Как и в приведенном ниже коде, я использовал только два слоя, которые являются входным уровнем, выходным слоем. И я получаю только 33% точности. Когда я пытаюсь добавить больше слоев как int[] layers = new int[] {36,30,20,13};, я получаю точность 27%. Я пробовал с различными случайными числами для слоев. Но точность низкая. Можете ли вы помочь мне улучшить точность?Как улучшить точность классификатора Perceptron Apache Spark?

 int[] layers = new int[] {36,13}; 
// create the trainer and set its parameters 
     MultilayerPerceptronClassifier trainer = new MultilayerPerceptronClassifier() 
       .setLayers(layers) 
       .setBlockSize(128) 
       .setSeed(1234L) 
       .setMaxIter(100); 
// train the model 
     MultilayerPerceptronClassificationModel model = trainer.fit(newFrame2); 

ответ

0

Сколько функций и классов в вашем наборе данных есть? Обычно слои в MLPC представляют собой числовой вектор, описывающий слои в первичных нейронных сетях. Каждый элемент вектора дает размер слоя.

Например, c (4, 5, 2) будет включать в себя три слоя с входным (функциональным) слоем размера 4, промежуточным слоем размера 5 и выходным (классным) слоем размера 2.

Так что определите свои слои соответствующим образом. Надеюсь это поможет.

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