@@ -19,7 +19,7 @@ class Experiment:
1919 """
2020
2121 def __init__ (
22- self , evaluations : list , aggregation : str , dataset_score_bounds : dict = None
22+ self , evaluations : list , aggregation : str , dataset_score_bounds : dict | None = None
2323 ):
2424 """
2525 Constructor of the experiment
@@ -61,7 +61,7 @@ def to_dict(self) -> dict:
6161 "aggregation" : self .aggregation ,
6262 }
6363
64- def sample_figures (self , random_state = None , score_subset : list = None ):
64+ def sample_figures (self , random_state = None , score_subset : list | None = None ):
6565 """
6666 Samples the ``tp`` and ``tn`` figures
6767
@@ -81,7 +81,7 @@ def sample_figures(self, random_state=None, score_subset: list = None):
8181 return self
8282
8383 def calculate_scores (
84- self , rounding_decimals : int = None , score_subset : list = None
84+ self , rounding_decimals : int | None = None , score_subset : list | None = None
8585 ) -> dict :
8686 """
8787 Calculates the scores
@@ -93,12 +93,8 @@ def calculate_scores(
9393 Returns:
9494 dict(str,float): the scores
9595 """
96- score_subset = (
97- ["acc" , "sens" , "spec" , "bacc" ] if score_subset is None else score_subset
98- )
99- score_subset = [
100- score for score in score_subset if score in ["acc" , "sens" , "spec" , "bacc" ]
101- ]
96+ score_subset = ["acc" , "sens" , "spec" , "bacc" ] if score_subset is None else score_subset
97+ score_subset = [score for score in score_subset if score in ["acc" , "sens" , "spec" , "bacc" ]]
10298
10399 for evaluation in self .evaluations :
104100 evaluation .calculate_scores (score_subset = score_subset )
@@ -111,29 +107,21 @@ def calculate_scores(
111107 evaluation .figures ["tn" ] for evaluation in self .evaluations
112108 )
113109 else :
114- self .figures ["tp" ] = sum (
115- evaluation .figures ["tp" ] for evaluation in self .evaluations
116- )
117- self .figures ["tn" ] = sum (
118- evaluation .figures ["tn" ] for evaluation in self .evaluations
119- )
110+ self .figures ["tp" ] = sum (evaluation .figures ["tp" ] for evaluation in self .evaluations )
111+ self .figures ["tn" ] = sum (evaluation .figures ["tn" ] for evaluation in self .evaluations )
120112
121113 if self .aggregation == "som" :
122- self .scores = calculate_scores_for_lp (
123- self .figures , score_subset = score_subset
124- )
114+ self .scores = calculate_scores_for_lp (self .figures , score_subset = score_subset )
125115 elif self .aggregation == "mos" :
126- self .scores = dict_mean (
127- [evaluation .scores for evaluation in self .evaluations ]
128- )
116+ self .scores = dict_mean ([evaluation .scores for evaluation in self .evaluations ])
129117
130118 return (
131119 self .scores
132120 if rounding_decimals is None
133121 else round_scores (self .scores , rounding_decimals )
134122 )
135123
136- def init_lp (self , lp_problem : pl .LpProblem , scores : dict = None ) -> pl .LpProblem :
124+ def init_lp (self , lp_problem : pl .LpProblem , scores : dict | None = None ) -> pl .LpProblem :
137125 """
138126 Initializes a linear programming problem
139127
@@ -191,7 +179,7 @@ def check_bounds(self, numerical_tolerance: float = NUMERICAL_TOLERANCE) -> dict
191179 indicating the overall results
192180 """
193181
194- results = {"evaluations" : []}
182+ results : dict = {"evaluations" : []}
195183 for evaluation in self .evaluations :
196184 tmp = {
197185 "folds" : evaluation .check_bounds (numerical_tolerance ),
0 commit comments