rtac.ac_functionalities.ranking.gray_box
Implements gray-box model based on cost-sensitive random forest from CostCla.
Functions
|
Patched version of cost_loss with np.float replaced by float. |
|
Patched __init__ version for the BaseBagging class. |
|
Patched version of _partition_estimators with np.int replaced by int. |
Classes
|
Class containing gray-box model and data processing functions. |
- class rtac.ac_functionalities.ranking.gray_box.Gray_Box[source]
Bases:
objectClass containing gray-box model and data processing functions.
- classify_configs(X_pred: list[list], cores: list[list], model: CostSensitiveRandomPatchesClassifier) list[source]
Classify configurations in the current tournament based o current pairwise comparison features.
- Parameters:
X_pred (list[list]) – Pairwise comparison instances from most recent outputs.
cores (list[list]) – Core number pairs corresponding to X_pred entries.
model (CostSensitiveRandomPatchesClassifier) – Trained gray-box model.
- Returns:
0 if C_0 is predicted to be better, 1 if otherwise, corresponding to cores.
- Return type:
list
- prepare_predict_data(rec_data: dict[int, list], instances: list, gb_pw_inst_archive: list, mtp: dict[int, int], pair_cores: list[list[int]]) tuple[list, list, list, list, int, list][source]
Transform single runtime output data instances into pairwise comparison data instances.
Note
Implementation based on the paper: “Realtime gray-box algorithm configuration using cost-sensitive classification”
- Parameters:
rec_data (dict[int, list]) – All runtime output data recorded so far in the tournament sorted by core the target algorithm runs on
instances (list[list]) – Unique instances of recorded runtime output.
gb_pw_inst_archive (list[list]) – All unique pairwise comparison instances.
mtp (dict[int, int]) – Key is core, value is the last time point of the data recorded.
pair_cores (list[list[int]]) – Core pairs corresponding to the Configurations compared in gb_pw_inst_archive.
- Returns:
pw_instances : list[list], Pairwise comparisons of Configurations based on the most current output.
cores : list[list], Core pairs corresponding to the Configurations compared in pw_istances.
instances : bool, Unique instances of recorded runtime output.
gb_pw_inst_archive : list[list], All unique pairwise comparison instances.
max_time_points : dict[int, int], Key is core, value is the last time point of the data recorded.
pair_cores : list[list[int]], Core pairs corresponding to the Configurations compared in gb_pw_inst_archive.
- Return type:
tuple
- prepare_train_data(X_train: list[list], data: list[list], cores: list[list], winner: int, res: dict[int, float], instances: list[list], y: list[int], cost_mat: list[list]) tuple[list[list], list[list], list[list]][source]
Adjust and add pairwise runtime output data gathered in tournament to the total runtime output data gathered so far to be used it for model training.
- Parameters:
X_train (list[list]) – Total pairwise runtime output data gathered so far.
data (list[list]) – Pairwise runtime output data gathered during last tournament.
cores (list[list],) – Core pairs corresponding to the Configurations compared in data.
winner (int) – Index of the winning Configuration of the last tournament.
res (dict[int, float]) – Results of the last tournament.
instances (list[list]) – Unique instances of recorded runtime output.
y (list[int]) – 0 signififying Configuration_0 is better, 1 signifying Configuration_1 is better within the pairwise comparison corresponding to instances in X_train.
cost_mat (list[list]) – Cost matrix corresponding to instances in X_train.
- Returns:
X_train : list[list], Updated total pairwise runtime output data gathered so far.
y : list[list], 0 signififying Configuration_0 is better, 1 signifying Configuration_1 is better within the pairwise comparison corresponding to instances in updated X_train.
cost_mat : list[list], Cost matrix corresponding to instances in updated X_train.
- Return type:
tuple
- term_list(pred: list, cores: list[list], verbosity: int) list[source]
Process predictions and decide if and which Configuration runs should be terminated.
- Parameters:
pred (list) – 0 if C_0 is predicted to be better, 1 if otherwise, corresponding to cores.
cores (list[list]) – Core number pairs.
verbosity (int) – Hyperparameter turning on and off additional terminal outputs.
- Returns:
Core indices of Configuration runs to be terminated.
- Return type:
list
- train_gb(X_train: list[list], y_train: list[int], cost_mat_train: list[list], cores: list[list]) CostSensitiveRandomPatchesClassifier | None[source]
Train gray-box model.
- Parameters:
X_train (list[list]) – Total pairwise runtime output data gathered so far.
y_train (list[int]) – 0 signififying Configuration_0 is better, 1 signifying Configuration_1 is better within the pairwise comparison corresponding to instances in X_train.
cost_mat_train (list[list]) – Cost matrix corresponding to instances in X_train.
cores (list[list],) – Core pairs corresponding to the Configurations compared in X_train.
- Returns:
Trained gray-box model or None, if not sufficient data for training.
- Return type:
CostSensitiveRandomPatchesClassifier or None