5

语境:

我有一个包含 VectorAssembler、StringIndexer 和 DecisionTreeClassifier 的 Spark ML 管道。使用这个管道,我能够成功地拟合模型并转换我的数据框。我想存储此模型以供将来使用,但我不断收到以下错误:

Pipeline write will fail on this Pipeline because it contains a stage which does not implement Writable. 
Non-Writable stage: dtc_9c04161ed2d1 of type class org.apache.spark.ml.classification.DecisionTreeClassificationModel

我尝试过的

val pipeline = new Pipeline().setStages(Array(assembler, labelIndexer, dt))
val model = pipeline.fit(dfIndexed)
model.write.overwrite().save("test/model/pipeline")

当我删除分类器(即 dt)时,这可以正常工作。有没有办法保存 DecisionTreeClassifier 模型?

我的数据包含一些索引分类值,我必须将它们映射回它们的原始形式(我知道这需要使用 IndexToString)。我正在使用 Spark 1.6。

4

1 回答 1

1

从 Spark 1.6 开始无法做到这一点。该问题正在此处进行跟踪。

于 2016-02-13T18:05:51.033 回答