Protocols
fyt.core.protocols
¶
Protocols defining the interfaces for pipeline components.
These protocols decouple the TrainingPipeline orchestrator from concrete implementations, enabling substitution and easier testing.
DataSplitter
¶
Bases: Protocol
Protocol for data loading and splitting.
split_data(test_size, random_state)
¶
Split data into train/test sets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
test_size
|
float
|
Proportion of data to use for testing. |
required |
random_state
|
int
|
Random seed for reproducibility. |
required |
Returns:
| Type | Description |
|---|---|
DataSplit
|
DataSplit containing training and testing data. |
FeatureFilter
¶
Bases: Protocol
Protocol for feature selection.
fit(X, y=None)
¶
Fit the feature selector on training data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
Any
|
Input features. |
required |
y
|
Any
|
Target variable (required for supervised methods). |
None
|
Returns:
| Type | Description |
|---|---|
FeatureFilter
|
Fitted feature filter instance. |
get_feature_names_out(input_features=None)
¶
Get feature names after selection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_features
|
Any
|
Input feature names. |
None
|
Returns:
| Type | Description |
|---|---|
ndarray
|
Array of selected feature names. |
transform(X)
¶
Transform data by selecting features.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
Any
|
Input features. |
required |
Returns:
| Type | Description |
|---|---|
Any
|
Features after selection. |
Predictor
¶
Bases: Protocol
Protocol for model training and prediction.
best_params
property
writable
¶
The best hyperparameters from optimization, if any.
model
property
¶
The trained model instance.
model_params
property
¶
The base model parameters.
model_type
property
¶
The model type identifier.
predict(X)
¶
Make predictions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
DataFrame
|
Feature data for prediction. |
required |
Returns:
| Type | Description |
|---|---|
Series
|
Predicted values. |
predict_proba(X)
¶
Make probability predictions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
DataFrame
|
Feature data for prediction. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
Predicted probabilities. |
Preprocessor
¶
Bases: Protocol
Protocol for feature preprocessing.
fit(X, y=None)
¶
Fit the preprocessor on training data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
Any
|
Input features. |
required |
y
|
Any
|
Target variable (optional). |
None
|
Returns:
| Type | Description |
|---|---|
Preprocessor
|
Fitted preprocessor instance. |
handle_zero_imputation(X)
¶
Handle zero-to-NaN conversion for configured features.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
Any
|
Input features. |
required |
Returns:
| Type | Description |
|---|---|
Any
|
Features with zeros converted to NaN where configured. |
transform(X)
¶
Transform features using fitted preprocessor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
Any
|
Input features to transform. |
required |
Returns:
| Type | Description |
|---|---|
Any
|
Transformed features. |
SeedAware
¶
Bases: Protocol
Protocol for components that accept a random state seed.
TargetTransformer
¶
Bases: Protocol
Protocol for target variable encoding.
class_mapping
property
¶
The class-to-label mapping, or None if not available.
fit_transform(y)
¶
Fit the encoder and transform the target variable.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
y
|
Series
|
Target variable to fit and transform. |
required |
Returns:
| Type | Description |
|---|---|
Series
|
Transformed target variable. |
transform(y)
¶
Transform the target variable using a fitted encoder.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
y
|
Series
|
Target variable to transform. |
required |
Returns:
| Type | Description |
|---|---|
Series
|
Transformed target variable. |