Skip to content

Commit

Permalink
Ambrosia 0.3.0 (#32)
Browse files Browse the repository at this point in the history
* tests actions on pull request added, test badge updated

* Python version dependency limited to be <3.11

* Preprocessing enhancement (#22)

* Preprocessing enhancement first iteration

* check_cols call corrected

* Robust classes improved, tests added

* cuped structure improved, tests namings improved

* Preprocessing usage example updated

* MLVR class save load dict methods implemented

* chain smoke test for preprocessor added

* fix test

* chain smoke test for preprocessor added

* files linted

* Docstrings improved

* code decomposition

* docstring and typing added

* Old preprocessor is removed

* docstrings improved

* Temp class for logging added

* docs parsing for preprocessing classes added and updated

* .rst file modified

* version updated

* Robust Preprocessors and Metric Transformers separation (#23)

* Fractional split duplication bug (#24)

* Added check for id uniqueness in splitter

* Dataframe id_column access fix

* duplicated function removed

* Fittable aggregate preprocessor (#25)

* _check_columns method renamed

* Fittable aggregatepreprocessor

* aggregation tests and class improvement

* fix binary theory with groups_ratio/alternative/stabilizing

* Update README.rst

Telegram channel link added

* add docstrings and project dependencies

* fix poetry version

* fix imports [isort] && fix tests

* fix linters[black]

* Docstrings improved, method check added

* fix bug forgot first error for binary design

* Multiple alpha power design for binary intervals methods

* Incorrect variables types changed

* Storable Preprocessor and VarReduction classes changes (#29)

* Storable Preprocessor and VarReduction classes changes

* Unused dict with preproc classes removed

* Alternatives namings changed in `scipy` way, notebooks updated (#31)

* Alternatives namings changed in scipy way, notebooks updated

* Imports fixed

* 0.3.0 version descr added to changelog

---------

Co-authored-by: Байрамкулов Аслан Магомедович <ambajramku@www.mts.ru>
Co-authored-by: Aslan Bayramkulov <[email protected]>
Co-authored-by: Artem Vasin <[email protected]>
  • Loading branch information
4 people authored Feb 15, 2023
1 parent b97370e commit 48bc478
Show file tree
Hide file tree
Showing 46 changed files with 14,157 additions and 11,748 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
python-version: "3.8"

- name: Install poetry
run: pip install poetry==1.1.15
run: pip install poetry==1.3.2

- name: Install Dependencies
run: poetry install --no-dev
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ on:
push:
branches:
- "**"
pull_request:
branches:
- main
- dev

jobs:
lint:
Expand All @@ -18,7 +22,7 @@ jobs:
python-version: 3.9

- name: Install poetry
run: pip install poetry==1.2.0
run: pip install poetry==1.3.2

- name: Install dependencies
run: make install
Expand All @@ -43,7 +47,7 @@ jobs:
python-version: ${{ matrix.python-version }}

- name: Install poetry
run: pip install poetry==1.2.0
run: pip install poetry==1.3.2

- name: Install dependencies
run: make install
Expand Down
33 changes: 33 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,39 @@
Release Notes
=============

Version 0.3.0 (15.02.2023)
---------------------------

The ``Designer`` class and design methods functionality is updated.
Theoretical design now supports the choice of hypothesis alternative and group ratio parameter. These calculations now use Statsmodels solvers.
Experimental parameters for binary data can now also be theoretically designed using both the asin variance-stabilizing transformation and the normal approximation.

All preprocessor classes, except for the ``Preprocessor``, have changed their api and have updated functionality.
Preprocessing classes now use ``fit`` and ``transform`` methods to get transformation parameters and apply transformation on pandas tables.
Fitted classes now can now be saved and loaded from json files.
Table column names used when fitting class instances are now strictly fixed in instance attributes.

The ``Preprocessor`` class is updated.
Added new transformation methods.
The executed transformation pipeline can now be saved and loaded from a json file. This can be used to store and load the entire experimental data processing pipeline.
The data handling methods of the class have changed some parameters to match the changes in the classes used.

The ``IQRPreprocessor`` class now is available in ``ambrosia.preprocessing``.
It can be used to remove outliers based on quartile and interquartile range estimates.

The ``RobustPreprocessor`` class is updated.
It now supports different types of tails for removal: ``both``, ``right`` or ``left``.
For each processed column, a separate alpha portion of the distribution can be passed.

The ``BoxCoxTransformer`` class now is available in ``ambrosia.preprocessing``.
It can be used for data distribution normalization.

The ``LogTransformer`` class now is available in ``ambrosia.preprocessing``.
It can be used to transform data for variance reduction.

The ``MLVarianceReducer`` class is updated.
Now it can store and load the selected ML model from a single specified path.

Version 0.2.0 (22.11.2022)
---------------------------

Expand Down
6 changes: 4 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,24 @@
Ambrosia
========

|PyPI| |PyPI License| |ReadTheDocs| |Tests| |Coverage| |Black| |Python Versions|
|PyPI| |PyPI License| |ReadTheDocs| |Tests| |Coverage| |Black| |Python Versions| |Telegram Channel|

.. |PyPI| image:: https://img.shields.io/pypi/v/ambrosia
:target: https://pypi.org/project/ambrosia
.. |PyPI License| image:: https://img.shields.io/pypi/l/ambrosia.svg
:target: https://github.com/MobileTeleSystems/Ambrosia/blob/main/LICENSE
.. |ReadTheDocs| image:: https://img.shields.io/readthedocs/ambrosia.svg
:target: https://ambrosia.readthedocs.io
.. |Tests| image:: https://img.shields.io/github/workflow/status/MobileTeleSystems/RecTools/Test/main?label=tests
.. |Tests| image:: https://img.shields.io/github/actions/workflow/status/MobileTeleSystems/Ambrosia/test.yaml?branch=main
:target: https://github.com/MobileTeleSystems/Ambrosia/actions/workflows/test.yaml?query=branch%3Amain+
.. |Coverage| image:: https://codecov.io/gh/MobileTeleSystems/Ambrosia/branch/main/graph/badge.svg
:target: https://codecov.io/gh/MobileTeleSystems/Ambrosia
.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/ambrosia.svg
:target: https://pypi.org/project/ambrosia
.. |Telegram Channel| image:: https://img.shields.io/badge/telegram-Ambrosia-blueviolet.svg?logo=telegram
:target: https://t.me/+Tkt43TNUUSAxNWNi

.. shields end
Expand Down
2 changes: 1 addition & 1 deletion ambrosia/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2.0
0.3.0
Loading

0 comments on commit 48bc478

Please sign in to comment.