Из pyspark.ml.param
я заметил, что toListListFloat
существует, и поэтому я следовал его структуре, чтобы создать функцию toListListString
:
def toListListString(value):
"""
Convert a value to a list of list of strings, if possible
"""
if TypeConverters._can_convert_to_list(value):
value = TypeConverters.toList(value)
return [TypeConverters.toListString(v) for v in value]
raise TypeError("Could not convert %s to list of list of strings" % value)
При попытке вызвать getOrDefault
для моего param, я получаю сообщение об ошибке:
Param Param(parent='MeanImputer_420bad667a95e27adfa3',
name='impute_by_groups_cols',
doc='A list of lists of column names to impute by group')
does not belong to MeanImputer_420bad667a95e27adfa3.
Затем я попытался использовать toListListString
внутри класса, CustomerTypeConverters
который расширяет TypeConverters
, но возникает та же ошибка.
проблема возникает, когда Params
звонит _shouldOwn
def _shouldOwn(self, param):
"""
Validates that the input param belongs to this Params instance.
"""
if not (self.uid == param.parent and self.hasParam(param.name)):
raise ValueError("Param %r does not belong to %r." % (param, self))
Я не знаю, как это обойти. Любая помощь была бы замечательной, спасибо!