0

如此处所述使用 iforest:https ://github.com/titicaca/spark-iforest 但 model.save() 抛出异常。

遵循提到的 git 页面上的“Python API”部分下提到的代码片段。

from pyspark.ml.feature 导入 VectorAssembler 导入 o​​s 导入 tempfile 从 pyspark_iforest.ml.iforest 导入 *

col_1:整数 col_2:整数 col_3:整数

assembler = VectorAssembler(inputCols=in_cols, outputCol="features") 特征化 = assembler.transform(df)

iforest = IForest(污染=0.5, maxDepth=2) 模型=iforest.fit(df)

model.save("model_path") 异常:scala.NotImplementedError:默认的 jsonEncode 只支持字符串、向量和矩阵。org.apache.spark.ml.param.Param 必须覆盖 java.lang.Double 的 jsonEncode。

下面是执行“model.transform(df)”后得到的输出数据帧。model.save() 应该能够保存模型文件。col_1:integer col_2:integer col_3:integer features:udt anomalyScore:double 预测:double

4

1 回答 1

1

我刚刚解决了这个问题。这是由不正确的参数类型引起的。您可以在 master 分支中签出最新的代码,然后再试一次。

于 2019-07-02T09:58:50.927 回答