Skip to content

joaopfonseca/ml-research

Repository files navigation


Github Actions Codecov Documentation Status Black Python Versions DOI

PyPI Pypi Version Downloads
Anaconda Conda Version Conda Downloads

ML-Research is an open source library for machine learning research. It contains several utilities for Machine Learning research and algorithm implementations. Specifically, it contains scikit-learn compatible implementations for Active Learning and synthetic data generation, as well as datasets and various utilities to assist in experiment design and results reporting.

The LaTeX and Python code for generating the paper, experiments' results and visualizations shown in each paper is available (whenever possible) in the publications repo.

Installation

A Python distribution of version >= 3.9 is required to run this project. Earlier Python versions might work in most cases, but they are not tested. ML-Research requires:

  • numpy (>= 1.20.0)
  • pandas (>= 2.1.0)
  • sklearn (>= 1.2.0)
  • imblearn (>= 0.8.0)

Some functions in the mlresearch.utils submodule (the ones in the script _visualization.py) require Matplotlib (>= 2.2.3). The mlresearch.datasets submodule and mlresearch.utils.parallel_apply function require tqdm (>= 4.46.0) to display progress bars.

User Installation

The easiest way to install ml-research is using pip :

pip install -U ml-research

Or conda :

conda install -c conda-forge ml-research

The documentation includes more detailed installation instructions.

Installing from source

The following commands should allow you to setup the development version of the project with minimal effort:

# Clone the project.
git clone https://github.com/joaopfonseca/ml-research.git
cd ml-research

# Create and activate an environment 
make environment 
conda activate mlresearch # Adapt this line accordingly if you're not running conda

# Install project requirements and the research package. Dependecy group
# "all" will also install the dependency groups shown below.
pip install .[optional,tests,docs] 

Citing ML-Research

If you use ML-Research in a scientific publication, we would appreciate citations to the following paper:

@article{fonseca2023improving,
  title={Improving Active Learning Performance through the Use of Data Augmentation},
  author={Fonseca, Joao and Bacao, Fernando and others},
  journal={International Journal of Intelligent Systems},
  volume={2023},
  year={2023},
  publisher={Hindawi}
}