SMOTEConverter
Balances class distribution by generating synthetic minority-class samples.
SMOTE (Synthetic Minority Over-sampling Technique) addresses class imbalance
by creating new minority-class examples via linear interpolation between each
minority sample and one of its k nearest minority-class neighbours. Unlike
simple random over-sampling (which duplicates existing rows), SMOTE generates
novel samples in the feature space, improving classifier generalisation.
The technique is applied only during training; the test split is never resampled.
All schema parameters are forwarded to imbalanced-learn's SMOTE estimator.
References
- [1] Chawla, N.V. et al. (2002). "SMOTE: Synthetic Minority Over-sampling Technique." Journal of Artificial Intelligence Research, 16, 321-357. https://arxiv.org/abs/1106.1813
- [2] https://imbalanced-learn.org/stable/references/generated/imblearn.over_sampling.SMOTE.html
Parameters
- sampling_strategy, default=
auto - Sampling strategy (float or 'auto') to determine minority class size.
- random_state, default=
None - Seed for reproducibility.
- k_neighbors : integer, default=
5 - Number of neighbors to use for generating synthetic samples.
Methods
get_output_type(self, column_name: str = None) -> DashAI.back.types.dashai_data_type.DashAIDataType
SMOTEConverterNot 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.