import optuna
import sklearn
import warnings
-import numpy as np
N_TRIALS = 36
TEST_SIZE = 0.1
extrema = pred_df.tail(label_period_candles * label_period_frequency)[
EXTREMA_COLUMN
]
- beta = 10.0
- min_pred = smooth_min(extrema, beta=beta)
- max_pred = smooth_max(extrema, beta=beta)
+ min_pred = real_soft_min(extrema)
+ max_pred = real_soft_max(extrema)
return min_pred, max_pred
return error
-def smooth_max(series: pd.Series, beta=1.0) -> float:
- return np.log(np.sum(np.exp(beta * series))) / beta
+def real_soft_max(series: pd.Series) -> float:
+ return spy.special.logsumexp(series)
-def smooth_min(series: pd.Series, beta=1.0) -> float:
- return -np.log(np.sum(np.exp(-beta * series))) / beta
+def real_soft_min(series: pd.Series) -> float:
+ return -spy.special.logsumexp(-series)
import optuna
import sklearn
import warnings
-import numpy as np
N_TRIALS = 36
TEST_SIZE = 0.1
extrema = pred_df.tail(label_period_candles * label_period_frequency)[
EXTREMA_COLUMN
]
- beta = 10.0
- min_pred = smooth_min(extrema, beta=beta)
- max_pred = smooth_max(extrema, beta=beta)
+ min_pred = real_soft_min(extrema)
+ max_pred = real_soft_max(extrema)
return min_pred, max_pred
return error
-def smooth_max(series: pd.Series, beta=1.0) -> float:
- return np.log(np.sum(np.exp(beta * series))) / beta
+def real_soft_max(series: pd.Series) -> float:
+ return spy.special.logsumexp(series)
-def smooth_min(series: pd.Series, beta=1.0) -> float:
- return -np.log(np.sum(np.exp(-beta * series))) / beta
+def real_soft_min(series: pd.Series) -> float:
+ return -spy.special.logsumexp(-series)