automl / automl/ConfigSpace

ENH: float configuration limited to 1e-13 in log space

Open
#429 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
225
Forks
94
PR merge metrics
No merged PRs in 30d

Description

## Description

This is a feature request for smaller floating point values. The `Float` hyperparameter with `log=True` encounters numerical precision issues when sampling very small positive values, specifically those below approximately `5e-14`. This limitation prevents users from properly tuning hyperparameters that have scientifically valid ranges extending to very small values. For instance, the `rcond` parameter in `numpy.linalg.pinv` has a default value of 1e-15.

## Current Behavior

```python
import ConfigSpace as CS
from ConfigSpace import ConfigurationSpace, Float

cs = CS.ConfigurationSpace(seed=42)

rcond = CS.Float(
name="rcond",
bounds=(1e-15, 1e-2),
log=True)

cs.add(
[
rtol,
]
)

configs = cs.sample_configuration(size=5000)
# ValueError: Hyperparameter 'rcond' has illegal settings

```

## Version

1.2.2

## Interest in helping

Yes.

```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the Float configuration with bounds (1e-15, 1e-2), log=True, and 5,000 samples. Trace the Float log-space sampling and validation path to find where values below approximately 5e-14 become illegal. Done means scientifically valid very small positive bounds can be sampled without the reported ValueError, with regression coverage for this case.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.