Skip to content

Commit b8bd5ba

Browse files
committed
updated best metric retrieval API for min and max metric use-case
1 parent 382501e commit b8bd5ba

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

sklearn/fml/constants.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ class URI:
33

44
_METRIC = '/metric'
55
_RETRIEVE = '/retrieve'
6-
_BEST = '/best'
6+
_MAX = '/max'
7+
_MIN = '/min'
78
_ALL = '/all'
89

910
def post_metric(self):
@@ -12,5 +13,8 @@ def post_metric(self):
1213
def retrieve_all(self):
1314
return self._SERVER + self._METRIC + self._RETRIEVE + self._ALL
1415

15-
def retrieve_best(self):
16-
return self._SERVER + self._METRIC + self._RETRIEVE + self._BEST
16+
def retrieve_best_min(self):
17+
return self._SERVER + self._METRIC + self._RETRIEVE + self._MIN
18+
19+
def retrieve_best_max(self):
20+
return self._SERVER + self._METRIC + self._RETRIEVE + self._MAX

sklearn/fml/fml_client.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,22 @@ def retrieve_all_metrics(self, dataset):
5050

5151
return self._post_msg(URI().retrieve_all(), data)
5252

53-
def retrieve_best_metric(self, dataset):
53+
def retrieve_best_metric(self, dataset, min=True):
5454
"""
5555
Function to retrieve metric that best matches the dataset_hash
56+
@min = True fetch the minimum value of the metric
57+
@min = False fetches the maximum value of the metric
5658
"""
5759
dataset_hash = FMLHash().hashValAndReturnString(dataset)
5860

5961
data = {}
6062
data['dataset_hash'] = dataset_hash
6163

62-
return self._post_msg(URI().retrieve_best(), data)
64+
if min:
65+
return self._post_msg(URI().retrieve_best_min(), data)
66+
else:
67+
return self._post_msg(URI().retrieve_best_max(), data)
68+
6369

6470
def _test_publish(self, model=linear_model.LinearRegression(), metric_name='RMSE', metric_value='0', dataset='asdfasdfasdfd'):
6571
"""

0 commit comments

Comments
 (0)