machine-learning - 无法使用 pyspark 保存 pyspark iforest 模型

标签 machine-learning pyspark mlflow

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

Exception: scala.NotImplementedError: The default jsonEncode only supports string, vector and matrix. org.apache.spark.ml.param.Param must override jsonEncode for java.lang.Double.

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

from pyspark.ml.feature import VectorAssembler
import os
import tempfile
from pyspark_iforest.ml.iforest import *

col_1:integer
col_2:integer
col_3:integer

assembler = VectorAssembler(inputCols=in_cols, outputCol="features")
featurized = assembler.transform(df)

iforest = IForest(contamination=0.5, maxDepth=2)
model=iforest.fit(df)

model.save("model_path")

model.save() 应该能够保存模型文件。

下面是执行 model.transform(df) 后得到的输出数据帧:

col_1:integer
col_2:integer
col_3:integer
features:udt
anomalyScore:double
prediction:double

最佳答案

我刚刚解决了这个问题。这是由错误的参数类型引起的。您可以在master分支查看最新的代码,然后再尝试一下。

关于machine-learning - 无法使用 pyspark 保存 pyspark iforest 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56791931/

相关文章:

python - 用 Cython 激发 Spark

python - Pyspark dataframe 获取至少一行满足条件的列列表

amazon-sagemaker - 如何从 Amazon SageMaker 运行基于网络的 mlflow 用户界面?

machine-learning - 准确度随训练数据大小的变化而波动

machine-learning - 提供的模型不是 YellowBrick 中的聚类估计器

r - if(ncol.matrix < rep) { : argument is of length zero 中的错误

python - 来自截断的 MD5 的 ECDF 图

python - 无法访问 mlflow ui

python - 在远程 mlflow 服务器上保存工件

python - TensorFlow 模型损失的近似周期性跳跃