有下面的代碼的一部分,我的預測;我想知道如何評估我的預測? 如果,我想知道我的特徵的重要性是有使用featureImportances的RandomForestRegressionModel一招?我應該直接切換到RandomForestRegressionModel而不是使用PipelineModel?評估使用管道型號
,我讀了使用管道可以提供更好的結果,這就是爲什麼我使用它。 我試過使用RegressionEvaluator但我沒有得到我想要的。
還是應該我只是覺得簡單,我的數據幀轉換爲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)