Skip to main content

SelectFwe

Converter
DashAI.back.converters.scikit_learn.SelectFwe

Select features while controlling the Family-Wise Error Rate (FWE).

SelectFwe applies the Bonferroni correction to the p-values produced by a univariate scoring function: a feature is retained only if its raw p-value is at most alpha / n_features. This guarantees that the probability of making even one false positive among all selected features is bounded by alpha, providing the strongest multiple-testing guarantee of the three p-value-based filter selectors (FPR, FDR, FWE).

FWE control is most appropriate when any single false positive is costly, for example in confirmatory studies, safety-critical applications, or settings where downstream analysis of each selected feature is expensive. Because the correction grows more conservative as the number of features increases, it may discard many truly informative features in very high-dimensional problems; in such cases FDR control may be preferable.

Key properties:

  • Supervised: requires the target array y at fit time.
  • alpha is the family-wise significance level in [0, 1]; typical values are 0.05 or 0.01.
  • Most conservative of the three p-value-based filters at the same alpha; tends to retain fewer features than FDR or FPR.
  • The number of retained features is data-driven and not fixed in advance.

Wraps scikit-learn's SelectFwe.

References

Parameters

alpha : number, default=0.05
The highest uncorrected p-value for features to be kept.

Methods

get_output_type(self, column_name: str = None) -> DashAI.back.types.dashai_data_type.DashAIDataType

Defined on SelectFwe

Return the DashAI data type produced by this converter for a column.

Parameters

column_name : str, optional
Not used; all output columns share the same type. Defaults to None.

Returns

DashAIDataType
A Float type backed by pyarrow.float64().

changes_row_count(self) -> 'bool'

Defined on BaseConverter

Indicate whether this converter changes the number of dataset rows.

Returns

bool
True if the converter may add or remove rows, False otherwise.

fit(self, x: 'DashAIDataset', y: Optional[ForwardRef('DashAIDataset')] = None) -> DashAI.back.converters.base_converter.BaseConverter

Defined on SklearnWrapper

Fit the scikit-learn transformer to the data.

Parameters

x : DashAIDataset
The input dataset to fit the transformer on.
y : DashAIDataset, optional
Target values for supervised transformers. Defaults to None.

Returns

BaseConverter
The fitted transformer instance (self).

get_metadata(cls) -> 'Dict[str, Any]'

Defined on BaseConverter

Get 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

Defined on ConfigObject

Generates 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'

Defined on SklearnWrapper

Transform the data using the fitted scikit-learn transformer.

Parameters

x : DashAIDataset
The input dataset to transform.
y : DashAIDataset, optional
Not used. Present for API consistency. Defaults to None.

Returns

DashAIDataset
The transformed dataset with updated DashAI column types.

validate_and_transform(self, raw_data: dict) -> dict

Defined on ConfigObject

It 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.