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