Skip to main content

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!

Metadata

Release files for imml 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for imml 0.6.0
File Size Uploaded
imml-0.6.0.tar.gz 316.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for imml 0.6.0
File Interpreter ABI Platform
imml-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 749.5 kB

Release files / imml-0.6.0.tar.gz

Download URL imml-0.6.0.tar.gz
Size 316.7 kB
Tags Source
SHA-256 checksum
How to use checksums
028954118b6c601641f49c24f03322bfe6c3a87eb429c0cb484fe599abe2a045
BLAKE2b-256 checksum
How to use checksums
b52c2687262dfbc5d4d0d428acfe779c21c0eab28043e5cb5a4d6a967239aa92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Release files / imml-0.6.0-py3-none-any.whl

Download URL imml-0.6.0-py3-none-any.whl
Size 432.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f7a77c11005b981679aff443ed4adf54ca3450949a244e2cd2895c4a2ba4d860
BLAKE2b-256 checksum
How to use checksums
f2beae5664176f6a8ddfaadcf94ed077f99e37e4be16a632465efe7d6a6d907b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page