在特定数据集上应用Spark的逻辑回归需要定义迭代次数。到目前为止,我了解到在每次迭代中输出成本函数的结果可能是绘图的有用信息。这可以用来可视化一个函数需要多少次迭代才能收敛到最小值。我想知道在Spark中是否有办法输出这样的信息?通过不同迭代次数循环调用train()函数听起来像是处理大数据集时需要花费大量时间的解决方案。如果有已经内置的更好方法,知道这一点会很好。感谢您在这个话题上的任何建议。
回答:
在您训练了一个具有这种历史记录的模型(称之为myModel)之后,您可以使用以下代码获取逐次迭代的历史记录:
myModel.summary.objectiveHistory.foreach(...)
在Spark ML文档中有一个很好的例子,在这里可以找到——一旦您知道正确的搜索术语。