tech.v3.libs.tribuo
Bindings to make working with tribuo more straight forward when using datasets.
;; Classification
tech.v3.dataset.tribuo-test> (def ds (classification-example-ds 10000))
#'tech.v3.dataset.tribuo-test/ds
tech.v3.dataset.tribuo-test> (def model (tribuo/train-classification (org.tribuo.classification.xgboost.XGBoostClassificationTrainer. 6) ds :label))
#'tech.v3.dataset.tribuo-test/model
tech.v3.dataset.tribuo-test> (ds/head (tribuo/predict-classification model (ds/remove-columns ds [:label])))
_unnamed [5 3]:
| :prediction | red | green |
|-------------|-----------:|-----------:|
| red | 0.92524981 | 0.07475022 |
| green | 0.07464883 | 0.92535114 |
| green | 0.07464883 | 0.92535114 |
| red | 0.92525917 | 0.07474083 |
| green | 0.07464883 | 0.92535114 |
;; Regression
tech.v3.dataset.tribuo-test> (def ds (ds/->dataset "test/data/winequality-red.csv" {:separator \;}))
#'tech.v3.dataset.tribuo-test/ds
tech.v3.dataset.tribuo-test> (def model (tribuo/train-regression (org.tribuo.regression.xgboost.XGBoostRegressionTrainer. 50) ds "quality"))
#'tech.v3.dataset.tribuo-test/model
tech.v3.dataset.tribuo-test> (ds/head (tribuo/predict-regression model (ds/remove-columns ds ["quality"])))
_unnamed [5 1]:
| :prediction |
|------------:|
| 5.01974726 |
| 5.02164841 |
| 5.22696543 |
| 5.79519272 |
| 5.01974726 |
classification-predictions->dataset
(classification-predictions->dataset predictions)
Given the list of predictions from a classification model return a dataset
that will include probability distributions when possible. The actual prediction
will be in the :prediction
column.
evaluate-regression
(evaluate-regression model ds inf-col-name)
Evaluate a regression model against this model. Returns map of
{:rmse :mae :r2}
make-classification-datasource
(make-classification-datasource ds)
(make-classification-datasource ds inf-col-name)
Make a single label classification datasource.
make-regression-datasource
(make-regression-datasource ds)
(make-regression-datasource ds inf-col-name)
Make a regression datasource from a dataset.
predict-classification
(predict-classification model ds)
Use this model to predict every row of this dataset returning a new dataset containing
at least a :prediction
column. If this classifier is capable of predicting probability
distributions those will be returned as per-label as separate columns.
predict-regression
(predict-regression model ds)
Use a regression model to predict each column of the dataset returning a dataset with
at least one column named :prediction
.
train-classification
(train-classification trainer ds & [inf-col-name])
Train a single label classification model. Returns the model.
train-regression
(train-regression trainer ds & [inf-col-name])
Train a regression model on a dataset returning the model.
trainer
(trainer config-components trainer-name)
Creates a tribuo trainer from a list of config components
follwing OLCUT convention. One of the components should be a trainer,
which is the looked-up by trainer-name
and returned.