Skip to main content

Implementation of Machine Learning algorithms, experiments and utilities.

Project description


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 the software implementation of most algorithms used or developed in my research. Specifically, it contains scikit-learn compatible implementations for Active Learning and Oversampling, 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.

Contributions at the algorithm level are available in the package mlresearch.

Installation

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

  • numpy (>= 1.14.6)
  • pandas (>= 1.3.5)
  • sklearn (>= 1.0.0)
  • imblearn (>= 0.8.0)
  • rich (>= 10.16.1)

Some functions in the mlresearch.utils submodule (the ones in the script _visualization.py) require Matplotlib >= 2.2.3.

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 both 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{Fonseca2021,
  doi = {10.3390/RS13132619},
  url = {https://doi.org/10.3390/RS13132619},
  keywords = {SMOTE,active learning,artificial data generation,land use/land cover classification,oversampling},
  year = {2021},
  month = {jul},
  publisher = {Multidisciplinary Digital Publishing Institute},
  volume = {13},
  pages = {2619},
  author = {Fonseca, Joao and Douzas, Georgios and Bacao, Fernando},
  title = {{Increasing the Effectiveness of Active Learning: Introducing Artificial Data Generation in Active Learning for Land Use/Land Cover Classification}},
  journal = {Remote Sensing}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ml-research-0.4.0.tar.gz (61.4 kB view details)

Uploaded Source

Built Distribution

ml_research-0.4.0-py3-none-any.whl (78.4 kB view details)

Uploaded Python 3

File details

Details for the file ml-research-0.4.0.tar.gz.

File metadata

  • Download URL: ml-research-0.4.0.tar.gz
  • Upload date:
  • Size: 61.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for ml-research-0.4.0.tar.gz
Algorithm Hash digest
SHA256 451b00953dd3b0e5354c70afaf8ad63364d3eab8a0e6579aa05ffea5e176ab2e
MD5 75bc7cd4f90c5ae33e2536de3fd5e800
BLAKE2b-256 2ed9cdfcde2129183ec9f40733607e234a17c7a072dc6eb8977bf749fa038ec5

See more details on using hashes here.

File details

Details for the file ml_research-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: ml_research-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 78.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for ml_research-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e854cbc7f63cc372493549d6746c3240abeb61e447ede4c8233d1f47226c5374
MD5 4c1a129bd81de09252bbca5926139707
BLAKE2b-256 ef83f6e0cf1c8fd3954a7f4487c7370143031de9b324392d4abdfcc499d0d2f9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page