pdmlabs.experiment.batch.SA_experiment#
Classes
|
Supervised Survival Analysis (SA) experiment. |
- class pdmlabs.experiment.batch.SA_experiment.Supervised_SA_PdMExperiment(experiment_name: str, pipeline: PdMPipeline, param_space: dict, constraint_function: Callable = None, target_data: list[DataFrame] = None, target_sources: list[str] = None, historic_data: list[DataFrame] = [], historic_sources: list[str] = [], optimization_param: str = 'AD1_AUC', initial_random: int = 2, num_iteration: int = 20, batch_size: int = 1, n_jobs: int = 1, random_state: int = 42, random_n_tries: int = 3, constraint_max_retries: int = 10, historic_data_header: str = 'infer', target_data_header: str = 'infer', artifacts: str = 'artifacts', debug: bool = False, delay: float = None, log_best_scores: bool = False, maximize: bool = True, custom_evaluators: list = None)#
Bases:
PdMExperimentSupervised Survival Analysis (SA) experiment.
This experiment flavor combines supervised learning with survival analysis concepts: - Treats PdM as a survival prediction problem - Uses labeled data to train models that predict survival curves - Evaluates using survival analysis metrics (Kaplan-Meier, concordance, etc.)
Useful for: - Complex failure time modeling - Understanding failure hazards and risks - Competing risks scenarios
- Raises:
IncompatibleMethodException – If method does not implement SupervisedMethodInterface.
Examples
>>> experiment = Supervised_SA_PdMExperiment( ... experiment_name='survival-demo', ... pipeline=pipeline, ... param_space={'method_alpha': [0.01, 0.1, 1.0]}, ... num_iteration=20 ... ) >>> results = experiment.execute()
- execute() dict#
Run supervised survival analysis experiment.
Applies survival analysis techniques to PdM: 1. Fits method on labeled historic data 2. For each target scenario:
Fits model to scenario-specific data
Generates survival predictions
Evaluates against ground truth
Returns best parameters
- Returns:
Result dictionary with best_params, best_objective, and SA metrics.
- Return type:
dict
- Raises:
IncompatibleMethodException – If method is not SupervisedMethodInterface.