Apache spark 更新基于Mllib数据帧的PySpark(2.2.0)中的机器学习模型

Apache spark 更新基于Mllib数据帧的PySpark(2.2.0)中的机器学习模型,apache-spark,machine-learning,pyspark,cluster-analysis,apache-spark-ml,Apache Spark,Machine Learning,Pyspark,Cluster Analysis,Apache Spark Ml,我已经建立了一个基于集群的机器学习模型,现在只想定期(每天)用新数据更新它。我正在使用pysparkmlib,无法在Spark中找到任何方法来满足此需求 注意,scikit learn中提供了所需的“部分拟合”方法,但Spark中没有 我不赞成添加新数据,然后每天重新构建模型,因为这会增加数据量,计算成本也会很高 请为我推荐一种使用Spark Mllib进行模型更新或在线学习的有效方法?您不能更新任意模型 在一些选定的型号上,这是可行的。在某些情况下,如果你接受精度上的一些损失,它是有效的。但在

我已经建立了一个基于集群的机器学习模型,现在只想定期(每天)用新数据更新它。我正在使用pysparkmlib,无法在Spark中找到任何方法来满足此需求

注意,scikit learn中提供了所需的“部分拟合”方法,但Spark中没有

我不赞成添加新数据,然后每天重新构建模型,因为这会增加数据量,计算成本也会很高


请为我推荐一种使用Spark Mllib进行模型更新或在线学习的有效方法?

您不能更新任意模型

在一些选定的型号上,这是可行的。在某些情况下,如果你接受精度上的一些损失,它是有效的。但在其他模型上,唯一的方法是完全重建它

例如支持向量机。该模型只存储支持向量。更新时,还需要所有非支持向量才能找到最佳模型

例如,这就是为什么每晚都要建造新模型的原因


流媒体被高估了。特别是k-means。用“大”(lol)数据做在线k-meand完全是胡说八道。因为新点几乎没有效果,所以你可以每晚做一批。这些只是学术玩具,没有相关性。

一般情况下,你不能。一些模型(特别是在旧API中)可能有一些方法支持这样的过程,但是这个异常不是规则,并且只适用于迭代算法的一小部分。另外还有一些传统的流媒体实现(回归模型,k-means)。请参阅,以及@user6910411等参数。谢谢您的评论,您能告诉我如何在处理海量大数据的行业(特别是在线学习)中更新模型吗?我同意@user6910411,这在Apache Spark中是不可能的。对于记录,sklearn或其他机器学习库可以使用您并不总是需要的适当数量的资源进行扩展。