Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

missmixed-1.1.0.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

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

missmixed-1.1.0-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

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

Hashes for missmixed-1.1.0.tar.gz
Algorithm Hash digest
SHA256 025481b1cb47a87844f173badc60e7e158ce7af2220ff8e1d8f205fb9286b79d
MD5 e6dd907cdbb74dcb3f937a4faf28a1ca
BLAKE2b-256 08b533527bb4ddc4e090c45253822c3888b681fa9ada1928788d369821104b7e

See more details on using hashes here.

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

Hashes for missmixed-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63c3bf65da7ca99927a529366c3570ee2c3e8a7686a710b097d83396ce4ac91f
MD5 eb52d0c63de5204b0c320557aaac2a73
BLAKE2b-256 f121db48d501ee22ed0d8565dd6c1208f8c523b1640561ff373e05fe569d84b5

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