Skip to main content

A python package for multi-modal learning with incomplete data

Project description

PyPI - Version PyPI - Python Version Read the Docs CI Tests Codecov CodeQL PRs Welcome PyPI - Status GitHub repo size GitHub License

iMML Logo

Overview | Key features | Installation | Usage | Free software | Contribute | Help us

Overview

Multi-modal learning, where diverse data types are integrated and analyzed together, has emerged as a critical field in artificial intelligence. However, most algorithms assume fully observed data, an assumption that is often unrealistic in real-world scenarios. To address this gap, we have developed iMML, a Python package designed for multi-modal learning with incomplete data.

Overview of iMML for multi-modal learning with incomplete data

Overview of iMML for multi-modal learning with incomplete data.

Key features

The key features of this package are:

  • Coverage: More than 25 methods for integrating, processing, and analyzing incomplete multi-modal datasets implemented as a single, user-friendly interface.
  • Comprehensive: Designed to be compatible with widely-used machine learning and data analysis tools, allowing use with minimal programming effort.
  • Extensible: A unified framework where researchers can contribute and integrate new approaches, serving as a community platform for hosting new methods.

Installation

Run the following command to install the most recent release of iMML using pip:

pip install imml

Or if you prefer uv, use:

uv pip install imml

Some features of iMML rely on optional dependencies. To enable these additional features, ensure you install the required packages as described in our documentation: https://imml.readthedocs.io/stable/main/installation.html.

Usage

For this example, we will generate a random multi-modal dataset, that we have called Xs:

import numpy as np
Xs = [np.random.random((10,5)) for i in range(3)] # or your multi-modal dataset

You can use any other complete or incomplete multi-modal dataset. Once you have your dataset ready, you can leverage the iMML library for a wide range of machine learning tasks, such as:

  • Decompose a multi-modal dataset using MOFA to capture joint information.
from imml.decomposition import MOFA
transformed_Xs = MOFA().fit_transform(Xs)
  • Cluster samples from a multi-modal dataset using NEMO to find hidden groups.
from imml.cluster import NEMO
labels = NEMO().fit_predict(Xs)
  • Simulate incomplete multi-modal datasets for evaluation and testing purposes using Amputer.
from imml.ampute import Amputer
transformed_Xs = Amputer(p=0.8).fit_transform(Xs)

Free software

iMML is free software; you can redistribute it and/or modify it under the terms of the BSD 3-Clause License.

Contribute

Our vision is to establish iMML as a leading and reliable library for multi-modal learning across research and applied settings. Our priorities include to broaden algorithmic coverage, improve performance and scalability, strengthen interoperability, and grow a healthy contributor community. Therefore, we welcome practitioners, researchers, and the open-source community to contribute to the iMML project, and in doing so, helping us extend and refine the library for the community. Such a community-wide effort will make iMML more versatile, sustainable, powerful, and accessible to the machine learning community across many domains.

For the full contributing guide, please see:

Help us grow

How you can help iMML grow:

  • 🔥 Try it out and share your feedback.
  • 🤝 Contribute if you are interested in building with us.
  • 🗣️ Share this project with colleagues who deal with multi-modal data.
  • 🌟 And of course… give the repo a star to support the project!

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

imml-0.3.0.tar.gz (293.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imml-0.3.0-py3-none-any.whl (400.9 kB view details)

Uploaded Python 3

File details

Details for the file imml-0.3.0.tar.gz.

File metadata

  • Download URL: imml-0.3.0.tar.gz
  • Upload date:
  • Size: 293.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for imml-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6c66f3c8d1cb2e04a5e6a333655fc282d335450da5a074ec02a659d135d3dc0b
MD5 399e85822963a8b4cdbdaa79b3e553e3
BLAKE2b-256 7f453ff02e0d42fe8b50ca981040412eb18e1d469299dca65e31c16a5810c55a

See more details on using hashes here.

File details

Details for the file imml-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: imml-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 400.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for imml-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee6d03d4ca985c7bfb9f5b3ab5d8a1e237fa498b04b9e97f8ae80c111bf37325
MD5 22032f65c1d169dd8a4b8e04861d6800
BLAKE2b-256 3e3d95aa195d89eb837652e0e6f9d37cb495d40d76133926f6d4c12b950b4a90

See more details on using hashes here.

Supported by

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