This is a major release for *Catasta*. The API has changed yet again. The most notable difference with this version is that the API is more consistent. A large proportion of the code has been unified, as they offered very similar features. This results in a simpler API and, for me, is easier to maintain.
This version also helps to improve interoperability with other libraries by being able to use default or custom classes for losses and optimizers.
Breaking Changes
* The datasets have been unified into CatastaDataset. For specifying regression or classification tasks, an argument in the constructor must be passed. Also, the splits are always provided by directory discovery.
* The scaffolds have been unified into a single Scaffold class. It will identify the type of task (regression, classification, or signal classification) depending on the CatastaDataset provided.
* The archways have been unified into a single Archway class.
* The ClassificationTrainInfo and RegressionTrainInfo have been unified into TrainInfo.
* The ClassificationPrediction and RegressionPrediction have been unified into PredictionInfo.
* Models are loaded and saved in different ways. Check the docstrings for more information.
* Loading and saving from an to ONNX has been deprecated, as it goes out of scope of *Catasta*'s usage.
* A great number of arguments in methods don't have default values anymore.
* Changed early_stopping from patience and delta to validation monitoring.
* The Archway only loads models from saved paths.
⠀New features
* The user can provide a custom class for the loss function and optimizer.
* The device and dtype can be specified when instantiating the Scaffold.
* Added a verbose option to the Scaffold and Archway.
* Under the examples/ directory there are examples of usage of *Catasta* as a first step to more complete documentation.
* Docstrings have been added for every object in the API.
* The user can now specify in the Dataset the input and output column names for regression
⠀Changes
* If a model does not output a standard deviation, it is set to a vector of zeros instead of None.