File size: 1,254 Bytes
5f10e37
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import numpy as np
import matplotlib.pyplot as plt
from keras.models import load_model

def load_model_and_predict(model_path, X_val, y_val, ticker_index=0):
    """

    Carrega um modelo CNN salvo e plota previsão vs. valor real para um ticker específico.



    Args:

        model_path (str): Caminho para o modelo salvo (ex: 'cnn_model.keras')

        X_val (np.ndarray): Dados de entrada de validação (shape: [tickers, time, features])

        y_val (np.ndarray): Valores reais de saída de validação

        ticker_index (int): Índice do ticker a ser visualizado

    """
    print(f"Carregando modelo de {model_path}...")
    model = load_model(model_path)

    X_sample = X_val[ticker_index]
    y_true = y_val[ticker_index]

    if len(X_sample.shape) == 2:
        X_sample = X_sample[np.newaxis, ...]

    y_pred = model.predict(X_sample).squeeze()
    y_true = y_true.squeeze()

    plt.figure(figsize=(10, 5))
    plt.plot(y_true, label='Real', linewidth=2)
    plt.plot(y_pred, label='Previsto', linestyle='--')
    plt.title(f'CNN - Previsão vs Real (Ticker {ticker_index})')
    plt.xlabel('Dias Futuros')
    plt.ylabel('Preço Normalizado')
    plt.legend()
    plt.tight_layout()
    plt.show()