
<!-- README.md is generated from README.Rmd. Please edit that file -->

# <img src='https://raw.githubusercontent.com/cefet-rj-dal/daltoolbox/master/inst/logo.png' align='centre' height='150' width='139'/> DAL Toolbox

<!-- badges: start -->

![GitHub Repo
stars](https://img.shields.io/github/stars/cefet-rj-dal/daltoolbox?logo=Github)
![GitHub Repo stars](https://cranlogs.r-pkg.org/badges/daltoolbox)
<!-- badges: end -->

As research experiments grow in scale and complexity, data analytics
demands tools that go beyond isolated functions. DAL Toolbox is a
framework designed to meet these modern challenges by organizing a
comprehensive set of data analytics capabilities into an integrated
workflow environment. Inspired by the Experiment Line model
<doi:10.1007/978-3-642-02279-1_20>, it supports essential tasks such as
data preprocessing, classification, regression, clustering, and time
series prediction. With a unified data model, consistent method API, and
support for hyperparameter tuning, DAL Toolbox enables the seamless
construction and execution of end-to-end analytics pipelines. It also
offers easy integration with existing libraries and languages, promoting
usability, extensibility, and reproducibility in data science.

------------------------------------------------------------------------

## Documentation

The documentation was reorganized to support two complementary entry
points:

- a guided tutorial track for readers who want to learn the workflow
  step by step
- thematic example collections for readers who want to inspect a
  specific family of methods

If you are new to `daltoolbox`, start with the tutorials. If you
already know the package structure, the thematic collections remain
available and were reorganized with more didactic descriptions.

### Guided tutorial track

- [Tutorials](https://github.com/cefet-rj-dal/daltoolbox/tree/main/examples/tutorial/)
  - a 13-part learning sequence covering first experiment, sampling,
  data quality, preprocessing, baselines, metrics, model comparison,
  tuning, end-to-end pipelines, regression, clustering, visual
  analysis, and custom extensions.

### Thematic example collections

- [Transformations](https://github.com/cefet-rj-dal/daltoolbox/tree/main/examples/transf/)
  - sampling, balancing, cleaning, scaling, encoding, smoothing,
  feature selection, dimensionality reduction, and curvature-based
  heuristics.
- [Classification](https://github.com/cefet-rj-dal/daltoolbox/tree/main/examples/classification/)
  - baseline models, core classifier families, and model selection.
- [Regression](https://github.com/cefet-rj-dal/daltoolbox/tree/main/examples/regression/)
  - interpretable models, nonlinear learners, and tuning for numeric
  prediction.
- [Clustering](https://github.com/cefet-rj-dal/daltoolbox/tree/main/examples/clustering/)
  - partitional, medoid-based, density-based methods, and clustering
  model selection.
- [Graphics](https://github.com/cefet-rj-dal/daltoolbox/tree/main/examples/graphics/)
  - comparison, distribution, relationship, time-oriented, and
  export-focused visualizations.
- [Custom extensions](https://github.com/cefet-rj-dal/daltoolbox/tree/main/examples/custom/)
  - examples showing how to integrate new transformations, classifiers,
  regressors, and clustering methods into the Experiment Line workflow.

### Documentation design

The examples were revised to be more useful for learning:

- files inside each collection are now numbered in a suggested reading
  order
- category `README` files group examples by subject rather than only by
  class name
- many examples now include more explanation between code blocks,
  including interpretation hints and common mistakes

------------------------------------------------------------------------

## Installation

The latest version of DAL Toolbox at CRAN is available at:
<https://CRAN.R-project.org/package=daltoolbox>

You can install the stable version of DAL Toolbox from CRAN with:

``` r
install.packages("daltoolbox")
```

You can install the development version of DAL Toolbox from GitHub
<https://github.com/cefet-rj-dal/daltoolbox> with:

``` r
library(devtools)
devtools::install_github("cefet-rj-dal/daltoolbox", force=TRUE, dependencies=FALSE, upgrade="never")
```

------------------------------------------------------------------------

## Bugs and new features request

<https://github.com/cefet-rj-dal/daltoolbox/issues>
