Repository navigation
Release: 0.2.0
All notable changes to this project will be documented in this file.
0.2.0
- Rebuilt
amosas Automated Modeling for Open Scholarship: a
package for reproducible data science in academic research, built on
chrisjen0.2.0. A study is described in a settings file (or adict),
whichchrisjenturns into a workflow of workers, steps, and techniques. - Added
Dataset, the item that flows through anamosworkflow. It keeps
the data in onepandas.DataFramewith the label, the training and test
rows, the fitted model, its predictions and probabilities, metrics, tables,
figures, fitted tools, and ahistoryof every technique applied. - Added
Operation, the base class of everyamostechnique, and 116
techniques in nine genres, each stored in thechrisjenlibrary under its
snake case name: cleaners (10), describers (6), splitters (4), transformers
(imputers, scalers, encoders, mixers, and reducers: 37), samplers (9),
models (19), metrics (17), evaluators (6), and plots (8). They wrap
scikit-learn, category_encoders, imbalanced-learn, xgboost, lightgbm,
statsmodels, shap, matplotlib, and seaborn. Optional packages are imported
only when they are used, and are installed with extras (such as
amos[all]). - Transformers and samplers learn from the training rows only, keep named
columns, can be limited to somecolumns, and are given the label when
they are fitted. Models do both tasks where they can, search for the best
hyperparameters when asked, and (witholsandglm) report coefficients
with standard errors, p-values, and confidence intervals. Every metric is
also achrisjen.Criteria, so it can be an experiment's criterion. - Added the
Experimentdesign, which tries every combination of
techniques, keeps the best, and adds a table comparing every combination. - Added
amos.Project, which makes data into aDataset, reads "label",
"task", and "seed" from the "general" section of the settings, applies the
workflow to a copy of the data, passes the seed to every tool that takes a
random_state, and exports the report, settings, environment, history,
predictions, tables, and figures. - Added the
Findingsreport. - Added an ROC curve and an importance plot from the README's breast cancer
study to the README, withdocs/scripts/readme_figures.pyto draw them
again. - Added tests that compare
amoswith each package that it wraps, using the
same data, parameters, and seed. - Removed the general-purpose containers, converters, factories, and
registries of 0.1.x. They now live inbunches,camina,holden, and
wonka. - Moved to the
snickerdoodletemplate, based onuvandhatchling, with
ruff, mypy, pre-commit, mkdocs, and GitHub Actions. The README and
documentation examples are run by the unit tests.
0.1.10
- The last release of the earlier, general-purpose
amos, a toolkit of
containers and converters for Python projects.