An Adaptive, Extensible and Configurable Multi-Layer Framework for Iterative Missing Value Imputation
Project description
MissMixed
A Configurable Framework for Iterative Missing Data Imputation
MissMixed is a Python library designed for flexible and modular imputation of missing values in tabular datasets. It supports a wide range of imputation strategies, including ensemble methods, trial-based model selection, and deep learning integration — all within a customizable iterative architecture.
🔍 What is MissMixed?
MissMixed is not just a single algorithm — it’s a framework for building iteration-wise, model-aware imputation pipelines. It enables users to:
- Handle continuous, categorical, or mixed-type features
- Define custom model configurations at each iteration
- Combine multiple imputation algorithms (e.g., RandomForest, KNN, Deep Neural Networks)
- Dynamically evaluate and update imputed values using internal validation
Whether you’re working with low-dimensional medical data or large-scale mixed-type datasets, MissMixed is designed to offer accuracy, adaptability, and interpretability.
🚀 Installation
pip install missmixed
📦 Requirements
- Python ≥ 3.10
- NumPy
- Pandas
- scikit-learn
- XGBoost
- TensorFlow or Keras (for deep model imputation)
- tqdm
Dependencies will be installed automatically via pip.
📖 Usage
See the example folder for how to define: Custom Iteration Architectures Mixed-type pipelines Trial-based imputation workflows
OR
Use Command-Line Interface (CLI)
missmixed --path .\input_data.csv
💻 MissMixed CLI Options
The following table lists all command-line arguments for MissMixed:
| Argument | Short | Type | Default | Description |
|---|---|---|---|---|
--path |
-p |
str |
required | Path to the input data file (CSV or XLSX). |
--column |
-col |
str (list) |
None |
Specify categorical or non-categorical columns by name. Format: <type> <col1> <col2> ...• <type> must be cat / categorical or non-cat / non-categorical.• If no columns are listed after <type>, all columns are treated according to <type>.Example: --column cat age city → treat age and city as categorical.--column non-cat income → treat all except income as categorical. |
--index |
-idx |
int (list) |
None |
Specify categorical or non-categorical columns by index (0-based). Format: <type> <idx1> <idx2> ...• <type> must be cat / categorical or non-cat / non-categorical.• If no indices are listed after <type>, all columns are treated according to <type>.Example: --index cat 0 2 4 → treat columns 0, 2, 4 as categorical.--index non-cat 1 3 → treat all except columns 1, 3 as categorical. |
--initial-strategy |
-s |
str |
mean |
Initial strategy for filling NaN values. Choices: mean, median, most_frequent. |
--metric |
-m |
str |
r2_accuracy |
Metric for model evaluation. Choices: r2_accuracy, mse. |
--trials |
-t |
int |
1 |
Number of trials for training imputers through all iterations. |
--train-size |
-ts |
float |
0.9 |
Train size ratio (validation size = 1 - train_size). |
--verbose |
-v |
int |
0 |
Verbosity level: 0 (silent), 1 (default), 2 (detailed). |
--output |
-o |
str |
imputed_data.csv |
Path to save the imputed output file. Supports .csv or .xlsx. |
📄 License
MIT License
📣 Citation
[1] M. M. Kalhori, M. Izadi, “A Novel Mixed-Method Approach to Missing Value Imputation: An Introduction to MissMixed”, 29th International Computer Conference, Computer Society of Iran (CSICC) – IEEE, 2025.
[2] M. M. Kalhori, M. Izadi, F. Akbari “MissMixed: An Adaptive, Extensible and Configurable Multi-Layer Framework for Iterative Missing Value Imputation”, IEEE Access, 2025 (under review).
Project details
Release history Release notifications | RSS feed
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 missmixed-1.1.0.tar.gz.
File metadata
- Download URL: missmixed-1.1.0.tar.gz
- Upload date:
- Size: 18.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
025481b1cb47a87844f173badc60e7e158ce7af2220ff8e1d8f205fb9286b79d
|
|
| MD5 |
e6dd907cdbb74dcb3f937a4faf28a1ca
|
|
| BLAKE2b-256 |
08b533527bb4ddc4e090c45253822c3888b681fa9ada1928788d369821104b7e
|
File details
Details for the file missmixed-1.1.0-py3-none-any.whl.
File metadata
- Download URL: missmixed-1.1.0-py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63c3bf65da7ca99927a529366c3570ee2c3e8a7686a710b097d83396ce4ac91f
|
|
| MD5 |
eb52d0c63de5204b0c320557aaac2a73
|
|
| BLAKE2b-256 |
f121db48d501ee22ed0d8565dd6c1208f8c523b1640561ff373e05fe569d84b5
|