TensorFlow
This commit is contained in:
@@ -108,17 +108,17 @@ def normalize(df):
|
|||||||
return df
|
return df
|
||||||
|
|
||||||
|
|
||||||
class Zeus_LGBMRegressor(IStrategy):
|
class Zeus_TensorFlow(IStrategy):
|
||||||
startup_candle_count = 24 * 12
|
startup_candle_count = 24 * 12
|
||||||
|
|
||||||
# Machine Learning
|
# Machine Learning
|
||||||
model_indicators = []
|
|
||||||
indicator_target = 'percent12'
|
|
||||||
|
|
||||||
model = None
|
model = None
|
||||||
|
model_indicators = []
|
||||||
|
indicator_target = 'mid_smooth_5'
|
||||||
# Tensorflow
|
# Tensorflow
|
||||||
lookback = 60
|
lookback = 60
|
||||||
future_steps = 12
|
future_steps = 12
|
||||||
|
y_no_scale = False
|
||||||
|
|
||||||
path = f"user_data/plots/"
|
path = f"user_data/plots/"
|
||||||
|
|
||||||
@@ -3040,8 +3040,8 @@ class Zeus_LGBMRegressor(IStrategy):
|
|||||||
|
|
||||||
# 7) Sauvegarde
|
# 7) Sauvegarde
|
||||||
self.model.save(f"{self.path}/lstm_model.keras")
|
self.model.save(f"{self.path}/lstm_model.keras")
|
||||||
np.save(f"{self.path}/lstm_scaler_X.npy", self.scaler_X.data_max_)
|
# np.save(f"{self.path}/lstm_scaler_X.npy", self.scaler_X.data_max_)
|
||||||
np.save(f"{self.path}/lstm_scaler_y.npy", self.scaler_y.data_max_)
|
# np.save(f"{self.path}/lstm_scaler_y.npy", self.scaler_y.data_max_)
|
||||||
|
|
||||||
def tensorFlowPrepareDataFrame(self, dataframe, future_steps, lookback):
|
def tensorFlowPrepareDataFrame(self, dataframe, future_steps, lookback):
|
||||||
target = self.indicator_target
|
target = self.indicator_target
|
||||||
@@ -3062,8 +3062,13 @@ class Zeus_LGBMRegressor(IStrategy):
|
|||||||
# 4) Normalisation
|
# 4) Normalisation
|
||||||
self.scaler_X = MinMaxScaler()
|
self.scaler_X = MinMaxScaler()
|
||||||
X_scaled = self.scaler_X.fit_transform(X_values)
|
X_scaled = self.scaler_X.fit_transform(X_values)
|
||||||
self.scaler_y = MinMaxScaler()
|
|
||||||
y_scaled = self.scaler_y.fit_transform(y_values)
|
if self.y_no_scale:
|
||||||
|
y_scaled = y_values
|
||||||
|
else:
|
||||||
|
self.scaler_y = MinMaxScaler()
|
||||||
|
y_scaled = self.scaler_y.fit_transform(y_values)
|
||||||
|
|
||||||
# 5) Création des fenêtres glissantes
|
# 5) Création des fenêtres glissantes
|
||||||
X_seq = []
|
X_seq = []
|
||||||
y_seq = []
|
y_seq = []
|
||||||
@@ -3152,10 +3157,12 @@ class Zeus_LGBMRegressor(IStrategy):
|
|||||||
X_seq.append(X_scaled[i:i + lookback])
|
X_seq.append(X_scaled[i:i + lookback])
|
||||||
X_seq = np.array(X_seq)
|
X_seq = np.array(X_seq)
|
||||||
|
|
||||||
|
|
||||||
# prédictions
|
# prédictions
|
||||||
y_pred_scaled = model.predict(X_seq, verbose=0).flatten()
|
y_pred_scaled = model.predict(X_seq, verbose=0).flatten()
|
||||||
y_pred = self.scaler_y.inverse_transform(y_pred_scaled.reshape(-1, 1)).flatten()
|
if self.y_no_scale:
|
||||||
|
y_pred = y_pred_scaled
|
||||||
|
else:
|
||||||
|
y_pred = self.scaler_y.inverse_transform(y_pred_scaled.reshape(-1, 1)).flatten()
|
||||||
# alignement avec les données
|
# alignement avec les données
|
||||||
preds = [np.nan] * len(dataframe)
|
preds = [np.nan] * len(dataframe)
|
||||||
start = lookback
|
start = lookback
|
||||||
|
|||||||
Reference in New Issue
Block a user