Skip to content

Commit

Permalink
fix pypi release
Browse files Browse the repository at this point in the history
  • Loading branch information
deadsoul44 committed Jun 7, 2024
1 parent 6b900c8 commit 4c94f6c
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 9 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
- name: Save Artifacts
uses: actions/upload-artifact@v3
with:
name: wheels
name: release-dists
path: dist

macos-build-test:
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:
- name: Save Artifacts
uses: actions/upload-artifact@v3
with:
name: wheels
name: release-dists
path: dist

linux-build-test:
Expand Down Expand Up @@ -150,7 +150,7 @@ jobs:
- name: Save Artifacts
uses: actions/upload-artifact@v3
with:
name: wheels
name: release-dists
path: dist

cargo-build-test:
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "perpetual"
version = "0.0.1"
version = "0.0.2"
edition = "2021"
authors = ["Mutlu Simsek <[email protected]>"]
homepage = "https://perpetual-ml.com/docs"
Expand Down
19 changes: 15 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,24 @@

## _A self-generalizing, hyperparameter-free gradient boosting machine_

PerpetualBooster is a gradient boosting machine (GBM) algorithm which doesn't have hyperparameters to be tuned so that you can use it without needing hyperparameter optimization packages unlike other GBM algorithms. Similar to AutoML libraries, it has a `budget` parameter which ranges between (0, 1). Increasing the `budget` parameter increases predictive power of the algorithm and gives better results on unseen data. Start with a small budget and increase it once you are confident with your features. If you don't see any improvement with further increasing `budget`, it means that you are already extracting the most predictive power out of your data.
PerpetualBooster is a gradient boosting machine (GBM) algorithm which doesn't have hyperparameters to be tuned so that you can use it without needing hyperparameter optimization packages unlike other GBM algorithms. Similar to AutoML libraries, it has a `budget` parameter which ranges between `(0, 1)`. Increasing the `budget` parameter increases predictive power of the algorithm and gives better results on unseen data. Start with a small budget and increase it once you are confident with your features. If you don't see any improvement with further increasing `budget`, it means that you are already extracting the most predictive power out of your data.

Hyperparameter optimization usually takes 100 iterations with plain GBM algorithms. PerpetualBooster achieves the same accuracy in the single run. Thus, it achieves around 100x speed-up at the same accuracy with different `budget` levels and with different datasets. The speed-up might be slightly lower or significantly higher than 100 depending on the dataset.
Hyperparameter optimization usually takes 100 iterations with plain GBM algorithms. PerpetualBooster achieves the same accuracy in the single run. Thus, it achieves around 100x speed-up at the same accuracy with different `budget` levels and with different datasets. The speed-up might be slightly lower or significantly higher than 100x depending on the dataset.

PerpetualBooster prevents overfitting with a generalization algorithm. The paper is work-in-progress to explain the algorithm.

All of the algorithm code is written in [Rust](https://www.rust-lang.org/), with a python wrapper. Check examples folders for both Rust and Python. All of the rust code for the package can be found in the [src](src/) directory, while all of the python wrapper code is in the [python-package](python-package/) directory.
All of the algorithm code is written in [Rust](https://www.rust-lang.org/) with a python wrapper. All of the rust code for the package can be found in the [src](src/) directory, while all of the python wrapper code is in the [python-package](python-package/) directory.

## Usage

You can use the algorithm like in the example below. Check examples folders for both Rust and Python.

```python
from perpetual import PerpetualBooster

model = PerpetualBooster(objective="SquaredLoss")
model.fit(X, y, budget=0.4)
```

## Documentation

Expand All @@ -37,5 +48,5 @@ pip install perpetual
To use in a rust project, add the following to your Cargo.toml file.

```toml
perpetual = "0.0.1"
perpetual = "0.0.2"
```
2 changes: 1 addition & 1 deletion python-package/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "py-perpetual"
version = "0.0.1"
version = "0.0.2"
edition = "2021"
authors = ["Mutlu Simsek <[email protected]>"]
homepage = "https://perpetual-ml.com/docs"
Expand Down

0 comments on commit 4c94f6c

Please sign in to comment.