Skip to content

Commit

Permalink
make params a property
Browse files Browse the repository at this point in the history
  • Loading branch information
mengxr committed Jan 27, 2015
1 parent d5efd34 commit f66ba0c
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
2 changes: 1 addition & 1 deletion python/pyspark/ml/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ def _transfer_params_to_java(self, params, java_obj):
:param java_obj: Java object to receive the params
"""
paramMap = self._merge_params(params)
for param in self.params():
for param in self.params:
if param in paramMap:
java_obj.set(param.name, paramMap[param])

Expand Down
4 changes: 3 additions & 1 deletion python/pyspark/ml/param/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,15 @@ def __init__(self):
#: embedded param map
self.paramMap = {}

@property
def params(self):
"""
Returns all params. The default implementation uses
:py:func:`dir` to get all attributes of type
:py:class:`Param`.
"""
return filter(lambda x: isinstance(x, Param), map(lambda x: getattr(self, x), dir(self)))
return filter(lambda attr: isinstance(attr, Param),
[getattr(self, x) for x in dir(self) if x != "params"])

def _merge_params(self, params):
paramMap = self.paramMap.copy()
Expand Down

0 comments on commit f66ba0c

Please sign in to comment.