scala - 如何创建一个估计器来在拟合初始数据集后训练新样本?

标签 scala apache-spark machine-learning apache-spark-mllib

我正在尝试按照我在 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/

相关文章:

scala - 如何修复 Scala 中案例类集合的约束

java - 如何将不同的值传递给 scala 对象中的变量

apache-spark - 什么时候在 spark 中执行 REFRESH TABLE my_table?

python - 获取深度自动编码器的解码器

scala - Apache Spark Scala CosmosDB 连接器将 DataFrame 写回数据库

scala - 如何在 SPARK SQL 中使用 LEFT 和 RIGHT 关键字

amazon-web-services - AWS Glue ETL 作业失败,出现 AnalysisException : u'Unable to infer schema for Parquet. 必须手动指定。;'

python - 为什么 Pandas UDF 没有被并行化?

c# - ML 总是返回 0

machine-learning - 为什么模型选择之前不进行模型调整?