LGBMRegressor calcul multi pairs et sauvegarde graph
This commit is contained in:
42
tools/sklearn/sma_regression.py
Normal file
42
tools/sklearn/sma_regression.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
from sklearn.linear_model import LinearRegression
|
||||
|
||||
# Exemple : dataframe avec une colonne sma24
|
||||
n = 100
|
||||
df = pd.DataFrame({
|
||||
"sma24": np.sin(np.linspace(0, 6*np.pi, n)) * 50 + 200 + np.random.randn(n)*2
|
||||
})
|
||||
|
||||
# --- paramètres
|
||||
lookback = 30 # nombre de bougies utilisées pour l'apprentissage
|
||||
future_steps = 10 # combien de bougies futures on veut estimer
|
||||
|
||||
# --- Préparer les données
|
||||
X = np.arange(lookback).reshape(-1, 1) # 0 .. 29
|
||||
y = df["sma24"].iloc[-lookback:].values # les dernières valeurs
|
||||
|
||||
# --- Entraîner la régression
|
||||
model = LinearRegression()
|
||||
model.fit(X, y)
|
||||
|
||||
# --- Prédire les valeurs futures
|
||||
X_future = np.arange(lookback, lookback + future_steps).reshape(-1, 1)
|
||||
y_future = model.predict(X_future)
|
||||
|
||||
# --- Reconstituer la courbe complète (historique + prévision)
|
||||
predicted_full = np.concatenate([y, y_future])
|
||||
|
||||
# --- Affichage
|
||||
plt.figure(figsize=(10,5))
|
||||
plt.plot(df.index[-lookback:], y, label="Historique (sma24)", color="blue")
|
||||
plt.plot(
|
||||
np.arange(df.index[-1]-lookback+1, df.index[-1]+future_steps+1),
|
||||
predicted_full,
|
||||
label="Régression + prévision", color="orange", linestyle="--"
|
||||
)
|
||||
plt.axvline(df.index[-1], color="gray", linestyle=":")
|
||||
plt.legend()
|
||||
plt.title(f"Projection de SMA24 sur {future_steps} bougies futures")
|
||||
plt.show()
|
||||
Reference in New Issue
Block a user