我正在使用Apache Spark Mllib实现多层感知分类器。如下面的代码我只使用了两层,即输入层,输出层。我的准确率只有33%。
当我尝试将更多图层添加为int[] layers = new int[] {36,30,20,13};
时,我得到了27%的准确率。我尝试使用各种随机数作为图层。但准确度很低。你能帮助我提高准确度吗?
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 :(得分:0)
数据集中有多少个功能和类?通常,MLPC中的层是描述前馈神经网络中的层的数值向量。向量中的每个元素都给出了图层的大小。
例如,c(4,5,2)表示三层,其中大小为4的输入(特征)层,大小为5的中间层和大小为2的输出(类)层。 p>
因此,相应地定义您的图层。希望这可以帮助。