Registry / ai-ml / fancyimpute

fancyimpute

JSON →
library0.7.0pypypi✓ verified 85d ago

Matrix completion and feature imputation algorithms for Python. Current version is 0.7.0 (last release 2020). The library provides iterative imputation methods like SoftImpute, IterativeImputer, KNN, and NuclearNormMinimization. It is in maintenance mode with no recent updates.

pip install fancyimpute
INSTALL
IMPORT
SIG · FANCYIMPUTE
F
fancyimpute
ai-mlpythonv0.7.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

SimpleFill
from fancyimpute import SimpleFill
correct import
KNN
from fancyimpute import KNN
correct import
SoftImpute
from fancyimpute import SoftImpute
correct import
IterativeImputer
from fancyimpute import IterativeImputer
from fancyimpute.iterative_imputer import IterativeImputer
wrong: internal submodule not exposed
NuclearNormMinimization
from fancyimpute import NuclearNormMinimization
correct import

Basic usage: impute missing values using SoftImpute.

import numpy as np from fancyimpute import SoftImpute # Create data with missing values X = np.array([[1, 2, np.nan], [4, np.nan, 6], [7, 8, 9]]) # impute using SoftImpute X_filled = SoftImpute().fit_transform(X) print(X_filled)
Debug
Known issues
deprecatedfancyimpute is no longer actively maintained (last release 2020). Consider using sklearn.impute.IterativeImputer for iterative imputation or other modern alternatives.
fix
Use sklearn.impute.IterativeImputer or other up-to-date libraries.
affects: >=0.7.0
gotchaInput data must be a 2D numpy array with NaN values for missing entries. If you use a pandas DataFrame, it will be converted but columns may be reordered.
fix
Ensure data is a 2D numpy array with NaN for missing values. Convert pandas DataFrame with .values.
affects: all
gotchaSome solvers (e.g., NuclearNormMinimization) require cvxpy, which is an optional dependency. If not installed, import will fail.
fix
Install cvxpy: pip install cvxpy
affects: all
breakingIn version 0.5.0, the API changed: fit() returns a fitted model, and transform() or fit_transform() must be used to impute. Older versions used fit() to return imputed data.
fix
Use fit_transform() or fit() then transform() instead of relying on fit() returning imputed data.
affects: 0.5.0
Errors
Common errors & fixes
ImportError: No module named 'fancyimpute'
fancyimpute not installed or installed in wrong environment.
fix
Run: pip install fancyimpute
ValueError: Input contains NaN, infinity or a value too large for dtype('float64')
Data contains infinity or extremely large values.
fix
Replace infinity with NaN using np.isinf, or scale data.
ModuleNotFoundError: No module named 'cvxpy'
Attempting to use NuclearNormMinimization without cvxpy installed.
fix
Install cvxpy: pip install cvxpy
AttributeError: 'SoftImpute' object has no attribute 'fit_transform'
Old version of fancyimpute (<0.5.0) where fit() returned imputed matrix.
fix
Upgrade fancyimpute: pip install --upgrade fancyimpute
Upgrade
Version history
0.7.0latest on PyPI · released Oct 21, 2021
Audit
Dependencies
numpyrequiredcore dependency for array operations
scipyrequiredsparse matrices and linear algebra
scikit-learnrequiredused for KNN and IterativeImputer
cvxpyoptionalused for convex optimization (NuclearNormMinimization)
Agent activity
9 hits · last 30 days
node
8
OpenAI (training)
1
Resources
fancyimpute — pip install fancyimpute · libregistry