claesenm / optunity

optimization routines for hyperparameter tuning
http://www.optunity.net
Other
416 stars 78 forks source link

Space search dictionary: only float parameter space is ineffective for small integer ranges #61

Open janrygl opened 9 years ago

janrygl commented 9 years ago

In notebook http://optunity.readthedocs.org/en/latest/notebooks/notebooks/sklearn-automated-classification.html?highlight=forest, there is an example how to use optunity with scikit-learn for RandomForestClassifier:

Scikit-learn classifiers require integer values for some parameters, but optunity always return floats. In your example, you postprocess optunity parameters:

model = RandomForestClassifier(
    n_estimators=int(n_estimators),
    max_features=int(max_features))

but in case of small range it can be very ineffective. Given a range [2, 5](we want to try values 2, 3, 4, 5 for degree), we are testing a lot of values which will be converted to the same point. It is much worse in case of [0, 1] range (turn on/off some feature). Therefore, I would like to ask for support for integer range searches, or for advice how to design experiments more efficiently. Thank you very much

claesenm commented 9 years ago

We plan to provide facilities for explicit post-processing of inputs (*) and specifying minimally relevant differences per post-processed feature, which would address issues like yours. I will notify you when this functionality becomes available in the master branch.

(*) e.g. converting float to int, exponentiation, ...

NesrineC commented 8 years ago

Mr Claesenm, I am using optunity package to tune the number of hidden neurons in a One layer Perceptron. I will need that optunity ( using PSO) retruns an integer. So far, I am doing int(round(number)),in order to get an integer. Is there any support for integer range searches. Thank you so much !

claesenm commented 8 years ago

At the moment we have no native support for integer ranges, but this will be incorporated in a near-future release. For now, rounding is the only solution. I will update this issue once the new functionality is available.

iSevenDays commented 3 years ago

Hi, @claesenm is the feature available currently?

I found only one similar feature, "constraints" in docs, can we use them for the task of optimization values from integer space [2, 5]? https://optunity.readthedocs.io/en/latest/user/constraints.html

Thanks