Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何创建一个估计器,在已经拟合到初始数据集之后训练新样本?_Scala_Apache Spark_Machine Learning_Apache Spark Mllib - Fatal编程技术网

Scala 如何创建一个估计器,在已经拟合到初始数据集之后训练新样本?

Scala 如何创建一个估计器,在已经拟合到初始数据集之后训练新样本?,scala,apache-spark,machine-learning,apache-spark-mllib,Scala,Apache Spark,Machine Learning,Apache Spark Mllib,我正试图创建我自己的估计器,遵循我在Spark源代码中找到的这个示例 但在本例中,每次我在Estimator中调用fit()方法时,它都会返回一个新的模型 我想要类似于再次拟合的东西来训练更多尚未训练的样本 我想在模型中创建一个新方法来实现这一点。但我不确定这是否有意义。 知道我的模型不需要再次处理所有数据集来训练新样本,我们也不想更改模型结构,这可能是件好事。您可以使用保存、加载并继续拟合模型: MLlib标准化了机器学习算法的API,使多个算法更容易组合到单个管道或工作流中。本节介绍Pipe

我正试图创建我自己的
估计器
,遵循我在Spark源代码中找到的这个示例

但在本例中,每次我在
Estimator
中调用
fit()
方法时,它都会返回一个新的
模型

我想要类似于再次拟合的东西来训练更多尚未训练的样本

我想在
模型中创建一个新方法来实现这一点。但我不确定这是否有意义。
知道我的模型不需要再次处理所有数据集来训练新样本,我们也不想更改模型结构,这可能是件好事。

您可以使用保存、加载并继续拟合模型:

MLlib标准化了机器学习算法的API,使多个算法更容易组合到单个管道或工作流中。本节介绍Pipelines API引入的关键概念,其中管道概念主要受scikit学习项目的启发


查找示例代码。

定义了spark ml估计器的基类。如您所见,class方法
fit
是一个普通调用,用于使用输入数据训练模型

您应该引用类似类的内容,特别是trainOnRows函数,其中输入是RDD可选初始系数矩阵(训练模型的输出)。这将允许您在不同的数据集上迭代地训练模型


对于您需要实现的目标,请记住您选择的算法必须能够支持迭代更新。例如,glm、神经网络、树集合等。

如果您知道如何改进模型中的训练,而不使用已使用的数据进行重新训练,那么您不能在同一个类中进行训练,因为您希望a也是a,但遗憾的是,这不可能直接实现,因为两者都是抽象类,不能在同一个类中混合使用

正如您所说,您可以在模型中提供一种方法,该方法将返回估计器以改进/增加训练

类MyEstimator扩展估计器[MyModel]{
...
}
类MyModel扩展模型[MyModel]{
def retain:MyEstimator=//创建一个我的估计器实例,它包含所有以前的知识
}