HROCH


NameHROCH JSON
Version 1.4.11 PyPI version JSON
download
home_pagehttps://github.com/janoPig/HROCH/
SummarySymbolic regression and classification
upload_time2024-03-29 19:46:06
maintainerNone
docs_urlNone
authorJano
requires_pythonNone
licenseMIT
keywords scikit-learn symbolic-regression classification fuzzy-logic interpretable-ml machine-learning
VCS
bugtrack_url
requirements numpy scikit-learn scipy pandas
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 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

```sh
pip install HROCH
```

## Usage

[Symbolic_Regression_Demo.ipynb](examples/Symbolic_Regression_Demo.ipynb)  [![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/janoPig/HROCH/blob/main/examples/Symbolic_Regression_Demo.ipynb)

[Documentation](https://janopig.github.io/HROCH/HROCH.html)

```python
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

### 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

![image](https://github.com/janoPig/HROCH/assets/75015989/3fa087dc-8caf-4301-86d7-4e79a4e84402)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/janoPig/HROCH/",
    "name": "HROCH",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "scikit-learn, symbolic-regression, classification, fuzzy-logic, interpretable-ml, machine-learning",
    "author": "Jano",
    "author_email": "hroch.regression@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7b/84/e181b31fe13e6a4c6f11fda6b3729bd5cafc935ef0db826a3f102c86ec21/HROCH-1.4.11.tar.gz",
    "platform": null,
    "description": "\n# HROCH  \n\n**High-Performance c++ symbolic regression library based on parallel local search**\n\n- Zero hyperparameter tunning.\n- Accurate results in seconds or minutes, in contrast to slow GP-based methods.\n- Small models size.\n- Support for regression, classification and fuzzy math.\n- Support 32 and 64 bit floating point arithmetic.\n- Work with unprotected version of math operators (log, sqrt, division)\n- Speedup search by using feature importances computed from bbox model\n\n|**Supported instructions**||\n| ----------- | ----------- |\n|**math**|add, sub, mul, div, pdiv, inv, minv, sq2, pow, exp, log, sqrt, cbrt, aq|\n|**goniometric**|sin, cos, tan, asin, acos, atan, sinh, cosh, tanh|\n|**other**|nop, max, min, abs, floor, ceil, lt, gt, lte, gte|\n|**fuzzy**|f_and, f_or, f_xor, f_impl, f_not, f_nand, f_nor, f_nxor, f_nimpl|\n\n## Dependencies\n\n- AVX2 instructions set(all modern CPU support this)\n- numpy\n- sklearn\n- scipy\n\n## Installation\n\n```sh\npip install HROCH\n```\n\n## Usage\n\n[Symbolic_Regression_Demo.ipynb](examples/Symbolic_Regression_Demo.ipynb)  [![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/janoPig/HROCH/blob/main/examples/Symbolic_Regression_Demo.ipynb)\n\n[Documentation](https://janopig.github.io/HROCH/HROCH.html)\n\n```python\nfrom HROCH import SymbolicRegressor\n\nreg = SymbolicRegressor(num_threads=8, time_limit=60.0, problem='math', precision='f64')\nreg.fit(X_train, y_train)\nyp = reg.predict(X_test)\n```\n\n## Changelog\n\n### v1.4\n\n- sklearn compatibility\n- Classificators:\n  - NonlinearLogisticRegressor for a binary classification\n  - SymbolicClassifier for multiclass classification\n  - FuzzyRegressor for a special binary classification\n\n### v1.3\n\n- Public c++ sources\n- Commanline interface changed to cpython\n- Support for classification score logloss and accuracy\n- Support for final transformations:\n  - ordinal regression\n  - logistic function\n  - clipping\n- Acess to equations from all paralel hillclimbers\n- User defined constants\n\n### v1.2\n\n- Features probability as input parameter\n- Custom instructions set\n- Parallel hilclimbing parameters\n  \n### v1.1\n\n- Improved late acceptance hillclimbing\n\n### v1.0\n\n- First release\n\n## SRBench\n\n![image](https://github.com/janoPig/HROCH/assets/75015989/3fa087dc-8caf-4301-86d7-4e79a4e84402)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Symbolic regression and classification",
    "version": "1.4.11",
    "project_urls": {
        "Documentation": "https://janopig.github.io/HROCH/HROCH.html",
        "Homepage": "https://github.com/janoPig/HROCH/",
        "Source": "https://github.com/janoPig/HROCH",
        "Tracker": "https://github.com/janoPig/HROCH/issues"
    },
    "split_keywords": [
        "scikit-learn",
        " symbolic-regression",
        " classification",
        " fuzzy-logic",
        " interpretable-ml",
        " machine-learning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c2c208c21e865a20cbe6dccfb40ebd65f64da87343ccbb4aa08c6b242b8f0f0",
                "md5": "620fa18ece81c66ba57d355dabdfe5d4",
                "sha256": "bb4cae8eb17f2ea3190575e29c635c41eb69e9d4f111ef291e57bf99f3c9ac51"
            },
            "downloads": -1,
            "filename": "HROCH-1.4.11-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "620fa18ece81c66ba57d355dabdfe5d4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 440178,
            "upload_time": "2024-03-29T19:46:03",
            "upload_time_iso_8601": "2024-03-29T19:46:03.775091Z",
            "url": "https://files.pythonhosted.org/packages/9c/2c/208c21e865a20cbe6dccfb40ebd65f64da87343ccbb4aa08c6b242b8f0f0/HROCH-1.4.11-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b84e181b31fe13e6a4c6f11fda6b3729bd5cafc935ef0db826a3f102c86ec21",
                "md5": "25f4f18381bed0562d8a13ce3ed500e2",
                "sha256": "b58032a66d58a5efb11801391860b12c5139a294ba5d853016b4b849bd6d20f1"
            },
            "downloads": -1,
            "filename": "HROCH-1.4.11.tar.gz",
            "has_sig": false,
            "md5_digest": "25f4f18381bed0562d8a13ce3ed500e2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 432278,
            "upload_time": "2024-03-29T19:46:06",
            "upload_time_iso_8601": "2024-03-29T19:46:06.027627Z",
            "url": "https://files.pythonhosted.org/packages/7b/84/e181b31fe13e6a4c6f11fda6b3729bd5cafc935ef0db826a3f102c86ec21/HROCH-1.4.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-29 19:46:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "janoPig",
    "github_project": "HROCH",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "scikit-learn",
            "specs": []
        },
        {
            "name": "scipy",
            "specs": []
        },
        {
            "name": "pandas",
            "specs": []
        }
    ],
    "lcname": "hroch"
}
        
Elapsed time: 0.24550s