Probabilitic random forest regression algorithm
Project description
prfr
Probabilistic random forest regressor: random forest model that accounts for errors in predictors and labels, yields calibrated probabilistic predictions, and corrects for bias.
For a faster and more elaborate calibration routine (highly recommended), a JAX installation is required. You can install the package with the extra jax feature, which will install the necessary dependencies.
Installation
From PyPI, with jax feature:
pip install "prfr[jax]"
From PyPI, without jax feature:
pip install prfr
From Github (latest), with jax feature:
pip install "prfr[jax] @ git+https://github.com/al-jshen/prfr"
From Github (latest), without jax feature:
pip install "git+https://github.com/al-jshen/prfr"
Example usage
import numpy as np
import prfr
x_obs = np.random.uniform(0., 10., size=10000).reshape(-1, 1)
x_err = np.random.exponential(1., size=10000).reshape(-1, 1)
y_obs = np.random.normal(x_obs, x_err).reshape(-1, 1) * 2. + 1.
y_err = np.ones_like(y_obs)
train, test, valid = prfr.split_arrays(x_obs, y_obs, x_err, y_err, test_size=0.2, valid_size=0.2)
model = prfr.ProbabilisticRandomForestRegressor(n_estimators=250, n_jobs=-1)
model.fit(train[0], train[1], eX=train[2], eY=train[3])
model.fit_bias(valid[0], valid[1], eX=valid[2])
# check whether the calibration routine will run with JAX
print(prfr.has_jax)
model.calibrate(valid[0], valid[1], eX=valid[2])
pred = model.predict(test[0], eX=test[2])
pred_qtls = np.quantile(pred, [0.16, 0.5, 0.84], axis=-1)
print(pred.shape)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prfr-0.2.4.tar.gz.
File metadata
- Download URL: prfr-0.2.4.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.4 Darwin/22.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
406bdb6c52bafde4c3f02104def34c02254fcd6b56d0577454bb280b6da87c91
|
|
| MD5 |
7b0469f4414cb8d806b84ff613e09d85
|
|
| BLAKE2b-256 |
a386b60b88aa53afe24575b5b29f47f306cde861d7f6a98ba8bd3807865ac254
|
File details
Details for the file prfr-0.2.4-py3-none-any.whl.
File metadata
- Download URL: prfr-0.2.4-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.4 Darwin/22.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31ef629509d63d84fb8a763aab981c64e9e14d4ce49ca093ee7dbb0b064f6923
|
|
| MD5 |
2839aff3cb4b50217e98b1a96d56d4c6
|
|
| BLAKE2b-256 |
6859580b808ea2cb6db6c81b2bcc06109e31e401bacc1067d2719ea4991dc840
|