Multi-target Random Forest implementation that can mix both classification and regression tasks.
Project description
morfist: mixed-output-rf
Multi-target Random Forest implementation that can mix both classification and regression tasks.
Morfist implements the Random Forest algorithm (Breiman, 2001) with support for mixed-task multi-task learning, i.e., it is possible to train the model on any number of classification tasks and regression tasks, simultaneously. Morfist's mixed multi-task learning implementation follows that proposed by Linusson (2013).
- Breiman, L. (2001). Random forests. Machine learning, 45(1), 5-32.
- Linusson, H. (2013). Multi-output random forests.
Installation
With pip:
pip install decision-tree-morfist
With conda:
conda install -c systemallica decision-tree-morfist
Usage
Initialising the model
- Similarly to a scikit-learn RandomForestClassifier, a MixedRandomForest can be initialised in this way:
from morfist import MixedRandomForest
mrf = MixedRandomForest(
n_estimators=n_trees,
min_samples_leaf=1,
classification_targets=[0]
)
For more info on the possible parameters, visit the documentation.
Training the model
- Once the model is initialised, it can be fitted like this:
Where X are the training examples and Y are their respective labels(if they are categorical) or values(if they are numerical)mrf.fit(X, y)
Prediction
- The model can be now used to predict new instances.
- Class/value:
mrf.predict(x)
- Probability:
mrf.predict_proba(x)
Run/Build locally
To run the project, you need Poetry. Once installed:
- Clone the repository.
- Run
poetry install
. - The development environment is ready. You can test it by running
pytest
.
TODO:
- Speed up the learning algorithm implementation (morfist is currently much slower than the Random Forest implementation available in scikit-learn)
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 decision_tree_morfist-0.4.0.tar.gz
.
File metadata
- Download URL: decision_tree_morfist-0.4.0.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c491f25b70ad4b47f4f73e5513e1634833ea4de021de4c13bf3902f2bdfaac4c |
|
MD5 | 6f192643efd31fd0ff018b7f9cfc52c1 |
|
BLAKE2b-256 | 0c08bcce4e3a1085d946537a75d53210c27dcfa2c73e8bbc0f1b83196bfdb83f |
File details
Details for the file decision_tree_morfist-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: decision_tree_morfist-0.4.0-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc0352b91f0119ff47d4872d920a5150aa0e2f0609ab4faadd8320055dc32dbf |
|
MD5 | 8ffa6a8cd7a05692fbb7ac8e5b29cab0 |
|
BLAKE2b-256 | e812594831a844d904d20b60a601f384d777416d2cde48eefa24019ecdcc2fa8 |