Skip to content

Releases: simonprovost/scikit-longitudinal

🎉 First Public Release Github & PyPi

04 Jul 02:47
Compare
Choose a tag to compare

This release includes a number of important changes intended to improve the library's overall usability, maintainability, and compliance. We added new estimators and enhanced certain strategies for data preparation and preprocessing. In addition, we implemented everything for PyPi publishing and Github CI to ensure the long-term viability of Scikit-Longitudinal.

🫵
https://pypi.org/project/Scikit-longitudinal/0.0.4/

[v0.0.4] - 2024-07-04 - First Public Release and Major Enhancements

Added

  • Documentation: Comprehensive new documentation with Material for MKDocs. This includes a detailed tutorial on understanding vectors of waves in longitudinal datasets, a contribution guide, an FAQ section, and complete API references for all estimators, preprocessors, data preparations, and the pipeline manager.
  • Docker Installation: Added new Docker installation process.
  • Windows Support: Windows is now supported via Docker.
  • New Classifiers/Regressors: Introduced Lexico Deep Forest, Lexico Gradient Boosting, and Lexico Decision Tree Regressor.
  • PyPI Availability: Scikit-Longitudinal is now available on PyPI.
  • Continuous Integration: Integrated unit testing, documentation, and PyPI publishing within the CI pipeline.

Improved

  • PDM Setup and Installation: Enhanced setup and installation processes using PDM.
  • Testing Coverage: Improved testing coverage, ensuring that nearly 90% of the library is tested.
  • Scikit-Lexicographical-Trees: Extracted the lexicographical scikit-learn tree node splitting function into its own repository and published it to PyPI as Scikit-Lexicographical-Trees. This is now leveraged by our lexico-based estimators.
  • .env Management: Improved management of environment variables.
  • Lexicographical Enhancements: Integrated lexicographical enhancements of the waves vector within the variant of scikit-learn, scikit-lexicographical-trees, improving memory and time efficiency by handling algorithmic temporality directly in C++.

To-Do

  • Docstrings Alignment: Ensure that docstrings in the codebase align with the official documentation to avoid confusion.
  • Native Windows Compatibility: Achieve Windows compatibility without relying on Docker (requires access to a Windows machine).
  • Future Enhancements: Ongoing improvements and new features as they are identified.
  • Documentation examples: Add examples to the documentation to help users understand how to use the library with Jupyter notebooks.

[v0.0.3] - 2023-10-31 - Usability, Maintainability, and Compliance Enhancements

Added

  • Features Group Missing Waves Handling: Introduced mechanisms for gracefully handling missing waves in features groups.
  • Readiness Descriptions: New readiness indicators provide detailed descriptions of temporal data management across the library.
  • Auto-Sklong Compliance: The library is now compliant with Auto-Sklong standards.
  • Package Management Transition: Switched from Poetry to PDM for improved package and dependency management.
  • Docker Support: Linux-based Docker environment setup for streamlined installation and deployment.
  • Platform Testing: Library is tested on both Mac and Linux, with Windows support nearing completion.
  • Documentation: Comprehensive version 0.0.1 of the documentation is available on GitHub Pages.
  • Pipeline Manager: Refactored the pipeline into a more maintainable and flexible pipeline manager.
  • CFS Classes Refactoring: Separated CFS and CFS Per Group algorithms into distinct classes for better management.

Removed

  • Irrelevant Scripts: Removed scripts related to visualizations not core to the library's functionality.
  • Experiments Branch: Moved all experiment-related codes to a dedicated Experiments branch.

[v0.0.2] - 2023-05-17 - Enhanced Longitudinal Analysis and Parallelization Features

Added

  • Implementation and validation of the three CFS Per Group Nested Tree and LexicoRF algorithms.
  • Parallelization enhancements where possible.
  • Longitudinal dataset handler for access to non-longitudinal features, longitudinal features group, etc.
  • Longitudinal pipeline for longitudinal-based algorithms that pass features group onto each step of the pipeline.
  • Comprehensive documentation and extensive test coverage (>95% of the codebase).
  • Git hooks and other tools for long-term project use.
  • An improved version of the CFS per Group algorithm (version two) based on the paper's concept level.
  • Updated README file.

[v0.0.1] - 2023-03-27 - Initial Release

Added

  • Initial setup of the Poetry Python project with robust type-checking.
  • Integration of linting tools: pylint, flake8, pre-commit, black, and isort.
  • Correlation-based Feature Selection (CFS) algorithm with improved typing and testing.
  • CFS per Group for Longitudinal Data: Python implementation with parallelism for better performance.

🌟 Major Improvements and Compliance with AutoLD

30 Oct 18:27
Compare
Choose a tag to compare

v0.0.3

This release introduces a number of significant modifications aimed at enhancing the library's overall usability, maintainability, and compliance. We have addressed everything from features group management and AutoLD compliance to the switch from Poetry to PDM for package management and cross-compatability!

Key Features 🫶

  • Features Group Missing Waves Handling: We've introduced mechanisms to gracefully handle missing waves in features groups.
  • Readiness Descriptions: New readiness indicators are available, providing detailed descriptions of how temporal information is handled across the library.
  • Compliance with AutoLD: The library is now compliant with AutoLD standards, extending its interoperability.
  • Package Management Transition: We've migrated from Poetry to PDM, enhancing our package and dependency management.
  • Docker Support: A Linux-based Docker environment has been set up to streamline installation and deployment.
  • Platform Testing: The library is tested on both Mac and Linux. Windows support is nearing completion.
  • Documentation: A comprehensive version 0.0.1 of the documentation is now available on GitHub Pages.
  • Pipeline Manager: The pipeline has been refactored into a more maintainable and flexible pipeline manager.
  • CFS Classes Refactoring: The CFS and CFS Per Group algorithms have been separated into distinct classes for better management.

Removed or Moved 🧹

  • Irrelevant Scripts: Scripts related to visualisations have been removed as they were not directly relevant to the library's core functionality.
  • Experiments Branch: All experiment-related codes have been moved to a dedicated branch Experiments.

v0.0.2

This release introduces several key improvements and features, including the implementation and validation of the three 'CFS Per Group Nested Tree' and 'LexicoRF', parallelization where possible, and a longitudinal dataset handler. Additionally, the codebase is highly documented and more than 95% of it is tested.

Key Features:

  • CFS Per Group Nested Tree and LexicoRF: Implemented and validated these algorithms.
  • Parallelization: Applied parallelization for performance improvement wherever possible.
  • Longitudinal Dataset Handler: Introduced a handler for easy access to non-longitudinal features, longitudinal features group, etc.
  • Longitudinal Pipeline: Developed a pipeline specifically for longitudinal-based algorithms, allowing feature groups to pass onto each step of the pipeline.
  • Highly Documented Code: Ensured the codebase is well-documented to facilitate understanding and maintenance.
  • Extensive Testing: More than 95% of the codebase is tested.
  • Hooks and More Tools: Added hooks and other tools for long-term project usage.
  • Improved CFS Per Group Algorithm: Introduced a version two of the algorithm, based on the paper's concept level.
  • Updated README: The README has been updated with new information.

v0.0.1 - Initial Release

This release marks the initial setup of the Poetry Python project for Scikit-Longitudinal with one first estimator, featuring robust type-checking and an array of linting tools, including pylint, flake8, pre-commit, black, and isort.

Key Features:

  • Setup project with one first estimator
  • Highly typed Python code to ensure code quality and maintainability.
  • Comprehensive linting tools (pylint, flake8, pre-commit, black, isort) integrated into the project to enforce coding standards and consistency.

Estimators:

We hope you enjoy using this first release and look forward to your feedback and contributions! Cheers!

💡 Implementation of New Algorithms and Improved project's powerfulness and safeness

17 May 16:48
Compare
Choose a tag to compare

v0.0.2

This release introduces several key improvements and features, including the implementation and validation of the three 'CFS Per Group Nested Tree' and 'LexicoRF', parallelization where possible, and a longitudinal dataset handler. Additionally, the codebase is highly documented and more than 95% of it is tested.

Key Features:

  • CFS Per Group Nested Tree and LexicoRF: Implemented and validated these algorithms.
  • Parallelization: Applied parallelization for performance improvement wherever possible.
  • Longitudinal Dataset Handler: Introduced a handler for easy access to non-longitudinal features, longitudinal features group, etc.
  • Longitudinal Pipeline: Developed a pipeline specifically for longitudinal-based algorithms, allowing feature groups to pass onto each step of the pipeline.
  • Highly Documented Code: Ensured the codebase is well-documented to facilitate understanding and maintenance.
  • Extensive Testing: More than 95% of the codebase is tested.
  • Hooks and More Tools: Added hooks and other tools for long-term project usage.
  • Improved CFS Per Group Algorithm: Introduced a version two of the algorithm, based on the paper's concept level.
  • Updated README: The README has been updated with new information.

v0.0.1 - Initial Release

This release marks the initial setup of the Poetry Python project for Scikit-Longitudinal with one first estimator, featuring robust type-checking and an array of linting tools, including pylint, flake8, pre-commit, black, and isort.

Key Features:

  • Setup project with one first estimator
  • Highly typed Python code to ensure code quality and maintainability.
  • Comprehensive linting tools (pylint, flake8, pre-commit, black, isort) integrated into the project to enforce coding standards and consistency.

Estimators:

We hope you enjoy using this first release and look forward to your feedback and contributions! Cheers!

🥇 Setup project and First estimator

27 Mar 07:31
5a76c14
Compare
Choose a tag to compare

v0.0.1 - Initial Release

This release marks the initial setup of the Poetry Python project for Scikit-Longitudinal with one first estimator, featuring robust type-checking and an array of linting tools, including pylint, flake8, pre-commit, black, and isort.

Key Features:

  • Setup project with one first estimator
  • Highly typed Python code to ensure code quality and maintainability.
  • Comprehensive linting tools (pylint, flake8, pre-commit, black, isort) integrated into the project to enforce coding standards and consistency.

Estimators:

We hope you enjoy using this first release and look forward to your feedback and contributions! Cheers!