Scala 在 if else 语句中赋值
Scala assign value in if else statement
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
。这是否意味着未分配管道变量?我该如何重写它?
您将 if 设置为变量
val xgb = new XGBoostClassifier()
.setLabelCol("label")
.setFeaturesCol("features")
.setObjective("binary:logistic")
.setEvalMetric("auc")
val rf = new RandomForestClassifier()
.setLabelCol("label")
.setFeaturesCol("features")
.setImpurity("gini")
val pipeline = if (modelType == "rf") {
new Pipeline()
.setStages(Array[PipelineStage](rf))
} else if (modelType == "xgb") {
new Pipeline()
.setStages(Array[PipelineStage](rf))
}
}
pipeline.fit(trainingData)
}
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
。这是否意味着未分配管道变量?我该如何重写它?
您将 if 设置为变量
val xgb = new XGBoostClassifier()
.setLabelCol("label")
.setFeaturesCol("features")
.setObjective("binary:logistic")
.setEvalMetric("auc")
val rf = new RandomForestClassifier()
.setLabelCol("label")
.setFeaturesCol("features")
.setImpurity("gini")
val pipeline = if (modelType == "rf") {
new Pipeline()
.setStages(Array[PipelineStage](rf))
} else if (modelType == "xgb") {
new Pipeline()
.setStages(Array[PipelineStage](rf))
}
}
pipeline.fit(trainingData)
}