例如,采取OneHotEncoderModel
但你可以采取从pyspark.ml.feature
包东西。当您使用OneHotEncoderEstimator
你必须设置inputCols
的选项。在面对必须使用在构造函数中inputCols
和outputCols
。
您从估计相应的模型后,您不能再检索inputCols
值。有没有一种方法像getInputCols()
给你从给定的模型。如果你使用getParam("inputCols")
它只会给你Param
描述,而不是它的价值。
如果你看一下序列化的模型(元数据文件),该PARAM值(inputCols
)实际上是写出来的。见下面例子:
{"class":"org.apache.spark.ml.feature.OneHotEncoderModel","timestamp":1548215172466,"sparkVersion":"2.4.0","uid":"OneHotEncoderEstimator_c5fcbebe4045","paramMap":{"inputCols":["workclass-tmp"],"outputCols":["workclass-encoded"]},"defaultParamMap":{"handleInvalid":"error","dropLast":true}}
但是我正在寻找一种方式来获得从API。
更正我刚才的回答:
正确的方法被调用getOrDefault
。例如:
model.getOrDefault("inputCols")
它看起来像有获得这些价值的这种无证方式:
model._paramMap[model.inputCols]
要么
model._paramMap[model.params["inputCols"]]