A python package for multi-modal learning with incomplete data
Project description
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.
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
MOFAto capture joint information.
from imml.decomposition import MOFA
transformed_Xs = MOFA().fit_transform(Xs)
- Cluster samples from a multi-modal dataset using
NEMOto 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:
- In-repo: https://github.com/ocbe-uio/imml/tree/main?tab=contributing-ov-file
- Documentation: https://imml.readthedocs.io/stable/development/contributing.html
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c66f3c8d1cb2e04a5e6a333655fc282d335450da5a074ec02a659d135d3dc0b
|
|
| MD5 |
399e85822963a8b4cdbdaa79b3e553e3
|
|
| BLAKE2b-256 |
7f453ff02e0d42fe8b50ca981040412eb18e1d469299dca65e31c16a5810c55a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee6d03d4ca985c7bfb9f5b3ab5d8a1e237fa498b04b9e97f8ae80c111bf37325
|
|
| MD5 |
22032f65c1d169dd8a4b8e04861d6800
|
|
| BLAKE2b-256 |
3e3d95aa195d89eb837652e0e6f9d37cb495d40d76133926f6d4c12b950b4a90
|