【发布时间】:2020-01-20 17:59:53
【问题描述】:
对 scala 来说很新。
我有一个 if else 语句,它基于条件为变量赋值。
import org.apache.spark.ml.{Pipeline, PipelineModel, PipelineStage}
modelType = "rf"
def train(trainingData: DataFrame): PipelineModel = {
val xgb = new XGBoostClassifier()
.setLabelCol("label")
.setFeaturesCol("features")
.setObjective("binary:logistic")
.setEvalMetric("auc")
val rf = new RandomForestClassifier()
.setLabelCol("label")
.setFeaturesCol("features")
.setImpurity("gini")
if (modelType == "rf") {
val pipeline = new Pipeline()
.setStages(Array[PipelineStage](rf))
} else if (modelType == "xgb") {
val pipeline = new Pipeline()
.setStages(Array[PipelineStage](rf))
}
pipeline.fit(trainingData)
}
但我看到了这个错误:pipeline not found。这是否意味着未分配管道变量?我该如何重写?
【问题讨论】:
标签: scala apache-spark apache-spark-sql apache-spark-mllib