RandomUnderSamplerConverter
Balance class distribution by randomly discarding majority-class samples.
Under-sampling addresses class imbalance by reducing the size of one or
more over-represented classes rather than synthesising new minority-class
examples. RandomUnderSampler achieves this by drawing a random subset
of the majority class without replacement until the desired
sampling_strategy ratio is reached.
The sampling_strategy parameter controls the resulting ratio between
the minority and majority class after resampling. When set to "auto",
the majority class is down-sampled until it matches the size of the next
largest class. A float value specifies the desired minority-to-majority
ratio directly.
Input column types are preserved in the output. Type determination is
delegated to the transform method of the parent wrapper.
Wraps imblearn.under_sampling.RandomUnderSampler.
References
Parameters
- sampling_strategy, default=
auto - Sampling strategy (float or 'auto') to reduce majority class.
- random_state, default=
None - Seed for reproducibility.
Methods
get_output_type(self, column_name: str = None) -> DashAI.back.types.dashai_data_type.DashAIDataType
RandomUnderSamplerConverterNot implemented; type preservation is handled in transform.
Parameters
- column_name : str or None, optional
- Name of the column whose output type is queried. Ignored because this method always raises. Default
None.
changes_row_count(self) -> bool
ImbalancedLearnWrapperReturn True because all samplers add or remove rows.
Returns
- bool
- Always
True.
fit(self, x: 'DashAIDataset', y: 'DashAIDataset') -> Type[DashAI.back.converters.base_converter.BaseConverter]
ImbalancedLearnWrapperResample the dataset by calling fit_resample and store the result.
Parameters
- x : DashAIDataset
- The input feature dataset.
- y : DashAIDataset
- The target label dataset (required; must be non-empty).
Returns
- Type[BaseConverter]
- The fitted sampler instance (self).
get_metadata(cls) -> 'Dict[str, Any]'
BaseConverterGet metadata for the converter, used by the DashAI frontend.
Parameters
- cls : type
- The converter class (injected automatically by Python for classmethods).
Returns
- Dict[str, Any]
- Dictionary containing display name, short description, image preview path, category, icon, color, and whether the converter is supervised.
get_schema(cls) -> dict
ConfigObjectGenerates the component related Json Schema.
Returns
- dict
- Dictionary representing the Json Schema of the component.
transform(self, x: 'DashAIDataset', y: Optional[ForwardRef('DashAIDataset')] = None) -> 'DashAIDataset'
ImbalancedLearnWrapperReturn the resampled dataset stored during fit.
Parameters
- x : DashAIDataset
- The original feature dataset (used only for type information).
- y : DashAIDataset, optional
- The original target dataset (used only for type information). Defaults to None.
Returns
- DashAIDataset
- The combined resampled dataset (features + target) produced by
fit.
validate_and_transform(self, raw_data: dict) -> dict
ConfigObjectIt takes the data given by the user to initialize the model and returns it with all the objects that the model needs to work.
Parameters
- raw_data : dict
- A dictionary with the data provided by the user to initialize the model.
Returns
- dict
- A validated dictionary with the necessary objects.