Sub Comparison Creation Helper

GitHub Link to Code.

Sub-comparison creation helper for comparison management.

This module provides the SubComparisonCreationHelper class with static methods for creating different types of sub-comparisons (binary, pairwise, one-vs-rest, multiclass). Extracted from ComparisonManager to improve code organization.

class mdxplain.comparison.helper.sub_comparison_creation_helper.SubComparisonCreationHelper

Static helper class for creating sub-comparisons.

Provides methods for creating different types of sub-comparisons based on comparison modes. All methods are static and stateless.

static create_binary_sub_comparisons(comp_data: ComparisonData, data_selectors: List[str]) None

Create sub-comparisons for binary comparison mode.

Creates a single sub-comparison between two data selectors with binary labels (0, 1). Validates that exactly 2 selectors are provided.

Parameters

comp_dataComparisonData

Comparison data object to add sub-comparison to

data_selectorsList[str]

List of data selector names (must contain exactly 2 selectors)

Returns

None

Adds one sub-comparison to the comp_data object

static create_pairwise_sub_comparisons(comp_data: ComparisonData, data_selectors: List[str]) None

Create sub-comparisons for pairwise comparison mode.

Creates all possible pairwise combinations between data selectors. Each pair becomes a binary comparison with labels (0, 1). For N selectors, creates N*(N-1)/2 sub-comparisons.

Parameters

comp_dataComparisonData

Comparison data object to add sub-comparisons to

data_selectorsList[str]

List of data selector names (must contain at least 2 selectors)

Returns

None

Adds multiple sub-comparisons to the comp_data object

static create_one_vs_rest_sub_comparisons(comp_data: ComparisonData, data_selectors: List[str]) None

Create sub-comparisons for one-vs-rest comparison mode.

Creates N sub-comparisons where each selector is compared against all other selectors combined. The target selector gets label 1, and all others get label 0. For N selectors, creates N sub-comparisons.

Parameters

comp_dataComparisonData

Comparison data object to add sub-comparisons to

data_selectorsList[str]

List of data selector names (must contain at least 2 selectors)

Returns

None

Adds N sub-comparisons to the comp_data object (one per selector)

static create_multiclass_sub_comparisons(comp_data: ComparisonData, data_selectors: List[str]) None

Create sub-comparison for multiclass comparison mode.

Creates a single sub-comparison containing all selectors as separate classes with incremental labels (0, 1, 2, …). This mode is handled specially in ComparisonData.get_sub_comparison_data().

Parameters

comp_dataComparisonData

Comparison data object to add sub-comparison to

data_selectorsList[str]

List of data selector names (must contain at least 2 selectors)

Returns

None

Adds one special multiclass sub-comparison to the comp_data object