gpt4 book ai didi

scala - 如何创建自定义可写变压器?

转载 作者:行者123 更新时间:2023-12-02 14:42:29 24 4
gpt4 key购买 nike

我正在通过扩展Transformer来编写自定义spark.ml变压器。

一切都很好,但是我无法保存此变压器的这个实例,因为它不像所有变压器那样从 DefaultParamsWritable 特征扩展,并且我无法直接混合 DefaultParamsWritable code> 特征,因为它是特定于 org.apache.spark.ml 的包。

解决此问题的一种方法是将您的类放在 org.apache.spark.ml 下。这是实现这一目标的唯一方法吗?还有更好的解决方案吗?

最佳答案

终于找到了一种方法!

所以这个技巧有两个步骤。

如果您计划编写一个转换器,其中包含一些需要在保存时写入的变量,那么它需要是一个扩展 org.apache.spark.ml.param.Params 类的特征。

诸如 HasInputCol 之类的常见特征是 Spark ml 包私有(private)的,因此您还需要在您自己选择的公共(public) util 包中重新实现这些特征。 (在他们的 JIRA 板上公开这些内容存在一个错误,但尚未确定日期。)

但是一旦你有了这个,那么你的转换器就可以简单地实现 Params 类型的这些特征以及 DefaultParamsWritable,并且你的转换器现在是可持久的。

真希望这能在某个地方记录下来。

关于scala - 如何创建自定义可写变压器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36339939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com