是否有办法在每次迭代后获取评估得分,例如回归中的RMSE和精确度-召回率?例如,如果我有以下代码:LogisticRegression lr = new LogisticRegression() .setMaxIter(10) .setRegParam(0.3) .setElasticNetParam(0.8);
当最大迭代次数设置为10时,我如何能获得10个得分?任何指导都将不胜感激。我使用的是Spark 2.4的Java版本。谢谢你。
回答:
训练完成后,你会得到一个LogisticRegressionModel
(假设它被称为model
)。model.summary()
会给你LogisticRegressionTrainingSummary
,而model.summary().objectiveHistory()
会给你一个包含每一步损失的数组。我认为你无法在每次迭代后获取精确度/召回率。
还要注意,并不一定会进行maxIter
次迭代——模型可能在此之前就已经收敛了。