我正在使用 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。
因此,相应地定义您的图层。希望这可以帮助。
关于machine-learning - 如何提高 Apache Spark 多层感知器分类器的准确性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41030519/