HROCH
High-Performance c++ symbolic regression library based on parallel local search
- Zero hyperparameter tunning.
- Accurate results in seconds or minutes, in contrast to slow GP-based methods.
- Small models size.
- Support for regression, classification and fuzzy math.
- Support 32 and 64 bit floating point arithmetic.
- Work with unprotected version of math operators (log, sqrt, division)
- Speedup search by using feature importances computed from bbox model
| Supported instructions | |
|---|---|
| math | add, sub, mul, div, pdiv, inv, minv, sq2, pow, exp, log, sqrt, cbrt, aq |
| goniometric | sin, cos, tan, asin, acos, atan, sinh, cosh, tanh |
| other | nop, max, min, abs, floor, ceil, lt, gt, lte, gte |
| fuzzy | f_and, f_or, f_xor, f_impl, f_not, f_nand, f_nor, f_nxor, f_nimpl |
Dependencies
- AVX2 instructions set(all modern CPU support this)
- numpy
- sklearn
- scipy
Installation
pip install HROCH
Usage
Symbolic_Regression_Demo.ipynb
from HROCH import SymbolicRegressor
reg = SymbolicRegressor(num_threads=8, time_limit=60.0, problem='math', precision='f64')
reg.fit(X_train, y_train)
yp = reg.predict(X_test)
Changelog
v1.4
- Sklearn compatibility
- Classificators:
- NonlinearLogisticRegressor for a binary classification
- SymbolicClassifier for multiclass classification
- FuzzyRegressor for a special binary classification
- Xi corelation used for filter unrelated features
v1.3
- Public c++ sources
- Commanline interface changed to cpython
- Support for classification score logloss and accuracy
- Support for final transformations:
- ordinal regression
- logistic function
- clipping
- Acess to equations from all paralel hillclimbers
- User defined constants
v1.2
- Features probability as input parameter
- Custom instructions set
- Parallel hilclimbing parameters
v1.1
- Improved late acceptance hillclimbing
v1.0
- First release
SRBench
Release files for HROCH 1.4.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hroch-1.4.12.tar.gz | 445.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| HROCH-1.4.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 900.4 kB
Release files / hroch-1.4.12.tar.gz
| Download URL | hroch-1.4.12.tar.gz |
|---|---|
| Size | 445.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a7e934bdb4df9314df3328d15ae48552ee8ffc4aa7ec2006e6f7f49300c38f74
|
|
BLAKE2b-256 checksum How to use checksums |
a084d2b2983718f966a6420885c5e241032361010460cba865fcea0da2dc7164
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|
Release files / HROCH-1.4.12-py3-none-any.whl
| Download URL | HROCH-1.4.12-py3-none-any.whl |
|---|---|
| Size | 454.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f6d3fe40804908bc6535779c82a473e96944c4c0c6e1339bea344763b5f88f68
|
|
BLAKE2b-256 checksum How to use checksums |
ba4b70d399b1cb6301a93a1892e563b392fb64f70b667cc4d7562187051395ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|