@@ -610,7 +610,9 @@ def make_preds_core(
610610 try :
611611 X
612612 ret_preds = mod .predict (
613- [X , X_sum , X_global , X_hc ], batch_size = self .batch_num_tf , verbose = int (self .verbose )
613+ [X , X_sum , X_global , X_hc ],
614+ batch_size = self .batch_num_tf ,
615+ verbose = int (self .verbose ),
614616 ).flatten ()
615617 except UnboundLocalError :
616618 logger .debug ("X is empty, skipping..." )
@@ -832,27 +834,39 @@ def calibrate_preds_func_pygam(
832834 # measured_tr = list(measured_tr)
833835
834836 # Fit a SplineTransformer model
835- spline = SplineTransformer (degree = 4 , n_knots = int (len (measured_tr ) / 100 ) + 5 )
836- spline_model = make_pipeline (spline , LinearRegression ())
837- spline_model .fit (predicted_tr .reshape (- 1 , 1 ), measured_tr )
837+ if self .deeplc_retrain :
838+ spline = SplineTransformer (degree = 2 , n_knots = 10 )
839+ linear_model = LinearRegression ()
840+ linear_model .fit (predicted_tr .reshape (- 1 , 1 ), measured_tr )
838841
839- # Determine the top 10% of data on either end
840- n_top = int (len (predicted_tr ) * 0.1 )
842+ linear_model_left = linear_model
843+ spline_model = linear_model
844+ linear_model_right = linear_model
845+ else :
846+ spline = SplineTransformer (
847+ degree = 4 , n_knots = int (len (measured_tr ) / 500 ) + 5
848+ )
849+ spline_model = make_pipeline (spline , LinearRegression ())
850+ spline_model .fit (predicted_tr .reshape (- 1 , 1 ), measured_tr )
841851
842- # Fit a linear model on the bottom 10% (left-side extrapolation)
843- X_left = predicted_tr [:n_top ]
844- y_left = measured_tr [:n_top ]
845- linear_model_left = LinearRegression ()
846- linear_model_left .fit (X_left .reshape (- 1 , 1 ), y_left )
852+ # Determine the top 10% of data on either end
853+ n_top = int (len (predicted_tr ) * 0.1 )
847854
848- # Fit a linear model on the top 10% (right-side extrapolation)
849- X_right = predicted_tr [- n_top :]
850- y_right = measured_tr [- n_top :]
851- linear_model_right = LinearRegression ()
852- linear_model_right .fit (X_right .reshape (- 1 , 1 ), y_right )
855+ # Fit a linear model on the bottom 10% (left-side extrapolation)
856+ X_left = predicted_tr [:n_top ]
857+ y_left = measured_tr [:n_top ]
858+ linear_model_left = LinearRegression ()
859+ linear_model_left .fit (X_left .reshape (- 1 , 1 ), y_left )
860+
861+ # Fit a linear model on the top 10% (right-side extrapolation)
862+ X_right = predicted_tr [- n_top :]
863+ y_right = measured_tr [- n_top :]
864+ linear_model_right = LinearRegression ()
865+ linear_model_right .fit (X_right .reshape (- 1 , 1 ), y_right )
853866
854867 calibrate_min = min (predicted_tr )
855868 calibrate_max = max (predicted_tr )
869+
856870 return (
857871 calibrate_min ,
858872 calibrate_max ,
0 commit comments