下面是Scala语言调用Spark MLPC的一个小Demo,需要注意的是MLPC既能处理二分类,又能处理多分类,layers参数的第一层神经元个数必须等于数据集中的特征数,最后一层神经元个数必须等于数据集中的类别数。
package com.spark
import org.apache.spark.ml.classification.MultilayerPerceptronClassifier
import org.apache.spark.ml.evaluation.MulticlassClassificationEvaluator
import org.apache.spark.ml.feature.VectorAssembler
import org.apache.spark.sql.SparkSession
object MultilayerPerceptron {
val spark: SparkSession = SparkSession
.builder()
.master("local")
.appName("MultiLayer Perceptron Classifier")
.config("spark.some.config.option", "some-value")
.getOrCreate()
import spark.implicits._
def main(args: Array[String]): Unit = {
// 读取少量的Iris数据集数据
val dataList: List[(Double, Double, Double, Double, String)] = List(
(5.1,3.5,1.4,0.2,"Iris-setosa"),
(4.9,