以下のコードの一部があります。予測をどのように評価することができますか? の機能を使用するには、自分の機能の重要性を知りたい場合は、のRandomForestRegressionModelの機能を使用しますか?私は直接RandomForestRegressionModelに切り替え、PipelineModelを使用しないでください。パイプラインモデルを使用して予測を評価
パイプラインを使用するとより良い結果が得られることがわかりましたので、私はそれを使用しています。 RegressionEvaluatorを使ってみましたが、私が欲しいものが得られません。
私は単純に思って、DataFrameをRDDに変換し、RegressionMetricsを使用して平均二乗誤差を得るべきですか?
要約すると、予測を評価するための最良の方法が何であるかを知る必要があります。
val assembler = new VectorAssembler()
.setInputCols(Array("customers", "year", "month", "dayOfMonth", "dayOfWeek", "weekOfYear", "dayOfYear"))
.setOutputCol("features")
val limitDate = "2017-04-01"
val trainingData = DF_2.filter(DF_2("time").lt(lit(limitDate)))
//trainingData.printSchema()
val rf = new RandomForestRegressor()
.setNumTrees(60)
.setMaxDepth(25)
.setMaxBins(100)
.setLabelCol("amount")
.setFeaturesCol("features")
val pipeline = new Pipeline().setStages(Array(assembler, rf))
//Train the model
val model = pipeline.fit(trainingData)
//Make predictions
val predictions = model.transform(DF_2)