你如何从型号输入列名?

问题描述 投票:1回答:1

例如,采取OneHotEncoderModel但你可以采取从pyspark.ml.feature包东西。当您使用OneHotEncoderEstimator你必须设置inputCols的选项。在面对必须使用在构造函数中inputColsoutputCols

您从估计相应的模型后,您不能再检索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。

pyspark apache-spark-ml
1个回答
0
投票

更正我刚才的回答:

正确的方法被调用getOrDefault。例如:

model.getOrDefault("inputCols")

它看起来像有获得这些价值的这种无证方式:

model._paramMap[model.inputCols]

要么

model._paramMap[model.params["inputCols"]]
© www.soinside.com 2019 - 2024. All rights reserved.