Skip to main content

Project Logo

Fuzzy Imputation and Critical Attribute Reduction for Intelligent Analysis


PyPI license coverage

About The Package • Prerequisites • Setup • Usage • License • Authors

🔷 About The Package

The ficaria package is a Python package providing custom, scikit-learn–compatible transformers for data imputation and feature selection. The transformers are designed to integrate seamlessly with scikit-learn pipelines, making them easy to use in real-world machine learning workflows and straightforward to extend for custom or research-oriented use cases.

The package was developed as part of a Bachelor’s degree thesis at the Warsaw University of Technology, Faculty of Mathematics and Information Science. All implemented methods are fuzzy-based, leveraging concepts from fuzzy set theory to handle uncertainty, vagueness, and incomplete data in a principled and interpretable manner. This makes ficaria particularly suitable for datasets where classical crisp methods may be insufficient or overly restrictive.

⚙️ Prerequisites

python

The ficaria package depends on the following Python libraries:

  • NumPy
  • Pandas
  • SciPy
  • scikit-learn
  • kneed

🛠 Setup

Ficaria can be installed from PyPI:

pip install ficaria

All dependencies are automatically installed when installing the package via pip.

🚀 Usage

Ficaria provides scikit-learn–compatible transformers for data imputation and feature selection. All transformers implement the standard fit / transform interface, so they can be used directly in pipelines alongside scalers, estimators, and cross-validation tools.

Example 1 — Feature Selection with FuzzyGranularitySelector

from ficaria import FuzzyGranularitySelector

selector = FuzzyGranularitySelector(n_features=5, eps=0.3)
selector.fit(X_train, y_train)
X_reduced = selector.transform(X_test)

Example 2 — Data Imputation with FCMKIterativeImputer

from ficaria import FCMKIterativeImputer

pipeline.fit(X_train, y_train)
X_transformed = pipeline.transform(X_test)

Example 3 — Combining Transformers in a Pipeline

Since all transformers implement fit and transform, they can be combined:

from sklearn.pipeline import Pipeline
from ficaria import FuzzyGranularitySelector, FCMKIterativeImputer

pipeline = Pipeline([
    ("imputer", FCMKIterativeImputer()),
    ("selector", FuzzyGranularitySelector(n_features=5, eps=0.3)),
])

pipeline.fit(X_train, y_train)
X_final = pipeline.transform(X_test)

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

👥 Authors

Aleksandra Kwiatkowska
Email: aleksandra.kwiatkowska263@gmail.com
Github: @kwiatkowskaa

Małgorzata Mokwa
Email: malgosiam628@gmail.com
Github: @malgosiam2

Bogumiła Okrojek
Email: bogumila.okrojek@gmail.com
Github: @szostkawron

Metadata

Release files for ficaria 0.1.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 ficaria 0.1.0
File Size Uploaded
ficaria-0.1.0.tar.gz 45.4 kB Details

Built distribution (wheel)

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

Total release size: 91.9 kB

Release files / ficaria-0.1.0.tar.gz

Download URL ficaria-0.1.0.tar.gz
Size 45.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4c2dee040f0df07966d231ece0d60f7c347e545ca7bb2a5d7ff8c171efffcc7d
BLAKE2b-256 checksum
How to use checksums
fb5c4008c3a3ac59e86ac2d5d003277881cf7b2a1523db623cec5e4eb0d78e77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / ficaria-0.1.0-py3-none-any.whl

Download URL ficaria-0.1.0-py3-none-any.whl
Size 46.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
40e0d4adc965910d279166812a45378f15022bd8d4fab51179d429b25d3350a8
BLAKE2b-256 checksum
How to use checksums
3d8dcceffa4eef5134d978d45c789210c3b39d4c0105893ca22804786d77e785
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

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