我正在尝试按照我在 Spark 源代码 DeveloperApiExample.scala 中找到的示例创建自己的 Estimator
.
但在这个例子中,每次我在Estimator
中调用fit()
方法时,它都会返回一个新的Model
。
我想要再次拟合之类的东西来训练更多尚未训练的样本。
我想在 Model
类中创建一个新方法来做到这一点。但我不确定这是否有意义。
知道我的模型不需要再次处理所有数据集来训练新样本并且我们不想更改模型结构也许是件好事。
最佳答案
spark ml Estimator 的基类定义为 here 。如您所见,类方法 fit
是一个普通调用,用于使用输入数据训练模型。
您应该引用类似 LogisticRegression 的内容类,特别是 trainOnRows 函数,其中输入是 RDD 和(可选)初始系数矩阵(训练模型的输出)。这将允许您在不同的数据集上迭代地训练模型。
对于您需要实现的目标,请记住您选择的算法必须能够支持迭代更新。例如,glm、神经网络、树集成等。
关于scala - 如何创建一个估计器来在拟合初始数据集后训练新样本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60687667/