Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Scikit learn Scikit learn MinCovDet

From Leeroopedia
Revision as of 16:36, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Scikit_learn_Scikit_learn_MinCovDet.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Knowledge Sources
Domains Machine Learning, Covariance Estimation
Last Updated 2026-02-08 15:00 GMT

Overview

Concrete tool for robust covariance estimation using the Minimum Covariance Determinant method provided by scikit-learn.

Description

This module implements the MinCovDet (Minimum Covariance Determinant) estimator, a robust covariance estimator resistant to outliers. It implements the Fast-MCD algorithm by Rousseeuw and Van Driessen, which finds the subset of observations (of size h) whose covariance matrix has the smallest determinant. The module also provides the c_step helper function implementing the concentration step procedure. MinCovDet extends EmpiricalCovariance and provides robust location and scatter estimates.

Usage

Use MinCovDet when your data may contain outliers and you need a covariance estimate that is not influenced by contaminated observations, such as in robust Mahalanobis distance calculations or outlier detection.

Code Reference

Source Location

Signature

class MinCovDet(EmpiricalCovariance):
    """Minimum Covariance Determinant (MCD): robust estimator of covariance."""

    def __init__(
        self,
        *,
        store_precision=True,
        assume_centered=False,
        support_fraction=None,
        random_state=None,
    ):
        ...

def c_step(
    X,
    n_support,
    remaining_iterations=30,
    initial_estimates=None,
    verbose=False,
    cov_computation_method=empirical_covariance,
    random_state=None,
):
    ...

Import

from sklearn.covariance import MinCovDet

I/O Contract

Inputs

Name Type Required Description
X array-like of shape (n_samples, n_features) Yes Training data for robust covariance estimation
store_precision bool No Whether to store the precision matrix (default: True)
assume_centered bool No Whether data is centered (default: False)
support_fraction float or None No Fraction of data used for MCD; None for automatic (default: None)
random_state int or None No Random state for reproducibility (default: None)

Outputs

Name Type Description
covariance_ ndarray of shape (n_features, n_features) Robust estimated covariance matrix
location_ ndarray of shape (n_features,) Robust estimated location (mean)
precision_ ndarray of shape (n_features, n_features) Robust estimated precision matrix
support_ ndarray of shape (n_samples,) Boolean mask of inlier observations
dist_ ndarray of shape (n_samples,) Mahalanobis distances of training samples

Usage Examples

Basic Usage

import numpy as np
from sklearn.covariance import MinCovDet

# Generate data with outliers
rng = np.random.RandomState(42)
X = rng.randn(100, 2)
X[:10] = rng.uniform(low=5, high=10, size=(10, 2))  # outliers

# Fit robust covariance
mcd = MinCovDet(random_state=42).fit(X)
print("Robust location:", mcd.location_)
print("Inlier fraction:", mcd.support_.mean())

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment