Skip to main content

Implementation of Machine Learning algorithms, experiments and utilities.

Project description


Github Actions Codecov Documentation Status Pypi Version Downloads Black Python Versions DOI

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, Oversampling, Datasets and various utilities to assist in experiment design and results reporting. Other techniques, such as self-supervised learning and semi-supervised learning are currently under development and are being implemented in pytorch and intended to be scikit-learn compatible.

The LaTeX and Python code for generating the paper, experiments' results and visualizations reported 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)
  • matplotlib (>= 2.2.3)
  • seaborn (>= 0.9.0)
  • pytorch (>= 1.10.1)
  • torchvision (>= 0.11.2)
  • pytorch_lightning (>= 1.5.8)

User Installation

If you already have a working installation of numpy and scipy, the easiest way to install scikit-learn is using pip :

pip install -U 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
pip install .[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.4a1.tar.gz (61.1 kB view details)

Uploaded Source

Built Distribution

ml_research-0.4a1-py3-none-any.whl (78.9 kB view details)

Uploaded Python 3

File details

Details for the file ml-research-0.4a1.tar.gz.

File metadata

  • Download URL: ml-research-0.4a1.tar.gz
  • Upload date:
  • Size: 61.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for ml-research-0.4a1.tar.gz
Algorithm Hash digest
SHA256 d0102535e622941d39393250981562e7b992a298bdca8dd76e33ec201b57a0ff
MD5 7b0a5a507e9fefa577cf437a7b731fb1
BLAKE2b-256 751c80b1eadfad8ac78b2c43f366671fd52983ffc3c8c4e7a6950cd23770185f

See more details on using hashes here.

File details

Details for the file ml_research-0.4a1-py3-none-any.whl.

File metadata

  • Download URL: ml_research-0.4a1-py3-none-any.whl
  • Upload date:
  • Size: 78.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for ml_research-0.4a1-py3-none-any.whl
Algorithm Hash digest
SHA256 8987d6c043ac91aecf5f98b41a0db9631e36b858f435efd0cfe9742532be0364
MD5 012c8be10667000d9afd1439ad1cbc91
BLAKE2b-256 d5046360e2a27075d9fd50e23d3144c95b0d43e0ac6dcf6764c0d29f3ea34df0

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