如何改善Apache Spark多层感知器分类器精度



我正在使用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);

数据集中有多少个功能和类?通常,MLPC中的层是描述前馈神经网络中层的数字矢量。向量中的每个元素给出一层的大小。

例如,c(4,5,2)将暗示三层,其中大小为4的输入(特征)层,大小5的中间层和大小2的输出(类)层。

因此,相应地定义了您的图层。希望这可以帮助。

最新更新