加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 18:31:33 所属栏目:安全 来源:网络整理
导读:我正在通过扩展 Transformer来编写一个自定义的spark.ml变换器. 一切都很好,但是我无法保存这个变换器的这个实例,因为它没有像所有变换器那样从DefaultParamsWritable特征扩展,我也不能直接混合DefaultParamsWritable特征,因为它是org.apache.spark.ml特有的
我正在通过扩展 Transformer来编写一个自定义的spark.ml变换器.

一切都很好,但是我无法保存这个变换器的这个实例,因为它没有像所有变换器那样从DefaultParamsWritable特征扩展,我也不能直接混合DefaultParamsWritable特征,因为它是org.apache.spark.ml特有的包. .

一个解决方法是将您的类放在org.apache.spark.ml下.这是实现这一目标的唯一途径吗?更好的解决方案?

解决方法

终于找到了这样做的方法!

所以诀窍有两个步骤.

如果您计划对变换器进行编码,该变换器具有一些需要在保存时写入的变量,那么它需要是一个扩展org.apache.spark.ml.param.Params类的特性.

像HasInputCol这样的常见特性是spark ml软件包的私有特性,所以你需要在你自己选择的公共util包中重新实现它们. (在他们的JIRA板上有这些公开的bug,但它还没有确定日期.)

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

真的希望这是在某处记录的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读