pdmlabs.experiment.batch.RUL_experiment#
Classes
|
Supervised Remaining Useful Life (RUL) prediction experiment. |
- class pdmlabs.experiment.batch.RUL_experiment.SupervisedRULPdMExperiment(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 Remaining Useful Life (RUL) prediction experiment.
This experiment flavor is for RUL regression where: - Target is continuous (time to failure, cycles to failure, etc.) - Method must implement SupervisedMethodInterface with RUL prediction - Evaluation metrics are regression-based (MAE, MSE, etc.) not classification
Differs from anomaly detection experiments: - Predicts continuous RUL rather than binary anomalies - Evaluation based on prediction accuracy, not detection timing - May use different postprocessing
Useful for: - Predictive maintenance with remaining life estimates - RUL-aware planning and maintenance scheduling
- Raises:
IncompatibleMethodException – If method is not SupervisedMethodInterface.
Examples
>>> experiment = SupervisedRULPdMExperiment( ... experiment_name='rul-demo', ... pipeline=pipeline, ... param_space={'method_fit_intercept': [True, False]}, ... optimization_param='MAE' ... ) >>> results = experiment.execute()
- execute() dict#
Run supervised RUL prediction experiment.
Trains RUL regression methods and evaluates on test scenarios:
Fits method on labeled historic RUL data (once)
For each target scenario: a. Preprocesses target data b. Predicts RUL values c. Compares against ground truth
Returns best parameters
- Returns:
Result dictionary with best_params, best_objective, and metrics.
- Return type:
dict
- Raises:
IncompatibleMethodException – If method is not SupervisedMethodInterface.