classifierpromax.ResultHandler

Functions

ResultHandler(scoring_dict_trainer[, ...])

Processes and combines scoring results from model training and optimization.

Module Contents

classifierpromax.ResultHandler.ResultHandler(scoring_dict_trainer, scoring_dict_optimizer=None, std=False)[source]

Processes and combines scoring results from model training and optimization.

Parameters:

scoring_dict_trainerdict

A dictionary where keys are model names and values are DataFrames containing scoring metrics (e.g., mean and standard deviation) for the baseline (non-optimized) models.

scoring_dict_optimizerdict, optional

A dictionary where keys are model names and values are DataFrames containing scoring metrics (e.g., mean and standard deviation) for the optimized models. Default is None.

stdbool, optional

If True, returns both the mean and standard deviation of the scores. If False, filters the results to only include the mean scores. Default is False.

Returns:

pandas.DataFrame

A DataFrame containing the combined scoring metrics: - If scoring_dict_optimizer is provided, the result includes both baseline and optimized scores,

with column names indicating the source (e.g., model_baseline and model_optimized).

  • If std is False, the result includes only the mean scores. Otherwise, both mean and standard deviation scores are included.

  • If scoring_dict_optimizer is not provided, only the baseline scores are returned.

Raises:

ValueError

If scoring_dict_trainer is not a dictionary. If scoring_dict_optimizer is provided but not a dictionary. If any value in scoring_dict_trainer or scoring_dict_optimizer is not a pandas DataFrame. If std is not a boolean value.

Example:

>>> scoring_dict_trainer = {
>>>     "model1": pd.DataFrame({"mean": [0.85], "std": [0.03]}),
>>>     "model2": pd.DataFrame({"mean": [0.80], "std": [0.04]})
>>> }
>>> scoring_dict_optimizer = {
>>>     "model1": pd.DataFrame({"mean": [0.88], "std": [0.02]}),
>>>     "model2": pd.DataFrame({"mean": [0.83], "std": [0.03]})
>>> }
>>> ResultHandler(scoring_dict_trainer, scoring_dict_optimizer, std=False)