ENH: float configuration limited to 1e-13 in log space
- 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