MCPcopy
hub / github.com/hyperopt/hyperopt / chooseRandomValueForParameter

Method chooseRandomValueForParameter

hyperopt/atpe.py:1218–1260  ·  view source on GitHub ↗
(self, parameter)

Source from the content-addressed store, hash-verified

1216 return params.get("param")
1217
1218 def chooseRandomValueForParameter(self, parameter):
1219 if parameter.config.get("mode", "uniform") == "uniform":
1220 minVal = parameter.config["min"]
1221 maxVal = parameter.config["max"]
1222
1223 if parameter.config.get("scaling", "linear") == "logarithmic":
1224 minVal = math.log(minVal)
1225 maxVal = math.log(maxVal)
1226
1227 value = random.uniform(minVal, maxVal)
1228
1229 if parameter.config.get("scaling", "linear") == "logarithmic":
1230 value = math.exp(value)
1231
1232 if "rounding" in parameter.config:
1233 value = (
1234 round(value / parameter.config["rounding"])
1235 * parameter.config["rounding"]
1236 )
1237 elif parameter.config.get("mode", "uniform") == "normal":
1238 meanVal = parameter.config["mean"]
1239 stddevVal = parameter.config["stddev"]
1240
1241 if parameter.config.get("scaling", "linear") == "logarithmic":
1242 meanVal = math.log(meanVal)
1243 stddevVal = math.log(stddevVal)
1244
1245 value = random.gauss(meanVal, stddevVal)
1246
1247 if parameter.config.get("scaling", "linear") == "logarithmic":
1248 value = math.exp(value)
1249
1250 if "rounding" in parameter.config:
1251 value = (
1252 round(value / parameter.config["rounding"])
1253 * parameter.config["rounding"]
1254 )
1255 elif parameter.config.get("mode", "uniform") == "randint":
1256 min = parameter.config["min"]
1257 max = parameter.config["max"]
1258 value = random.randint(min, max)
1259
1260 return value
1261
1262 def computePartialResultStatistics(self, hyperparameterSpace, results):
1263 losses = numpy.array(

Callers 1

Calls 1

getMethod · 0.80

Tested by

no test coverage detected