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 Libraries.io dependency status for latest release PRs Welcome PyPI - Status GitHub repo size GitHub License

iMML Logo

Overview | Background | 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.1.1.tar.gz (302.6 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.1.1-py3-none-any.whl (413.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for imml-0.1.1.tar.gz
Algorithm Hash digest
SHA256 859e8eaf9745446cc754c84b9b9be61f6e12d1fec1a51f9d4878540d9246c1e7
MD5 4016329ce63aea10b964716b61f3decd
BLAKE2b-256 15af6d631d2216bf884fe3e772bd0b339e0eb6e9d5823b077a9471c633918f46

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for imml-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f00559e9f5b25ae46815eea13564e2f325318defb64ea77a67e48e815a279501
MD5 062b8e3616e845b07fb3da203f113a65
BLAKE2b-256 9d68530c50fd737eb9d72188f789a1643126b75daa3f8fa9c82d78160780aa68

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