Skip to content

Commit 93b97a2

Browse files
authored
Merge pull request LREN-CHUV#43 from LREN-CHUV/fix-numeric-parameters
fix numeric parameters
2 parents 85cbc75 + 5afa1ab commit 93b97a2

3 files changed

Lines changed: 23 additions & 1 deletion

File tree

python-sgd-regression/sgd_regression.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,16 @@ def _parse_parameters(parameters):
187187
raise errors.UserError('Wrong format {} for hidden_layer_sizes'.format(value))
188188
parameters[name] = values
189189

190+
else:
191+
# try converting it to float or integer if possible
192+
try:
193+
value = float(value)
194+
if value == round(value):
195+
value = int(value)
196+
parameters[name] = value
197+
except ValueError:
198+
pass
199+
190200
return parameters
191201

192202

python-sgd-regression/tests/docker-compose.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ services:
8282
PARAM_covariables: "minimentalstate,opticchiasm,subjectageyears"
8383
PARAM_grouping: ""
8484
PARAM_meta: "{\"lefthippocampus\":{\"code\":\"lefthippocampus\",\"type\":\"real\",\"mean\":3.0,\"std\":0.35,\"minValue\":0.1,\"maxValue\":5.0},\"minimentalstate\":{\"code\":\"minimentalstate\",\"type\":\"real\",\"mean\":24.0,\"std\":5.0},\"opticchiasm\":{\"code\":\"opticchiasm\",\"type\":\"real\",\"mean\":0.08,\"std\":0.009},\"subjectage\":{\"code\":\"subjectage\",\"type\":\"real\",\"mean\":71.0,\"std\":8.0}, \"rs17125944_c\": {\"code\": \"rs17125944_c\",\"enumerations\": [{\"code\": 0,\"label\": 0},{\"code\": 1,\"label\": 1},{\"code\": 2,\"label\": 2}],\"sql_type\": \"int\",\"type\": \"polynominal\"}, \"adnicategory\": {\"code\": \"adnicategory\", \"enumerations\": [{\"code\": \"AD\", \"label\": \"Alzheimer's Disease\"}, {\"code\": \"MCI\", \"label\": \"Mild Cognitive Impairment\"}, {\"code\": \"CN\", \"label\": \"Cognitively Normal\"}], \"type\": \"polynominal\"}, \"alzheimerbroadcategory\": {\"code\": \"alzheimerbroadcategory\", \"enumerations\": [{\"code\": \"AD\", \"label\": \"Alzheimer's disease\"}, {\"code\": \"CN\", \"label\": \"Cognitively Normal\"}, {\"code\": \"Other\", \"label\": \"Other\"}], \"type\": \"polynominal\"}, \"subjectageyears\": {\"code\": \"subjectageyears\", \"label\": \"Age Years\", \"maxValue\": 130, \"minValue\": 0, \"type\": \"integer\"}}"
85-
MODEL_PARAM_type: "gradient_boosting"
85+
MODEL_PARAM_type: "linear_model"
86+
MODEL_PARAM_alpha: 0.25
8687

8788
sgd-regression-a:
8889
extends: sgd-regression-base

python-sgd-regression/tests/unit/test_sgd_regression.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,4 +138,15 @@ def test_deserialize_sklearn_estimator():
138138

139139
def test_parse_parameters():
140140
assert _parse_parameters({'class_prior': '0.5, 0.5'}) == {'class_prior': [0.5, 0.5]}
141+
assert _parse_parameters({'class_prior': '1.'}) == {'class_prior': [1]}
142+
assert _parse_parameters({'class_prior': '1'}) == {'class_prior': [1]}
141143
assert _parse_parameters({'hidden_layer_sizes': '10, 50, 10'}) == {'hidden_layer_sizes': [10, 50, 10]}
144+
assert _parse_parameters({
145+
'alpha': '0.05',
146+
'max_depth': '3',
147+
'penalty': 'l1'
148+
}) == {
149+
'alpha': 0.05,
150+
'max_depth': 3,
151+
'penalty': 'l1'
152+
}

0 commit comments

Comments
 (0)