diff --git a/quartz_solar_forecast/evaluation.py b/quartz_solar_forecast/evaluation.py index 4d95fe6a..ecf87bf6 100644 --- a/quartz_solar_forecast/evaluation.py +++ b/quartz_solar_forecast/evaluation.py @@ -9,7 +9,10 @@ import os import pandas as pd +import plotly.graph_objects as go +from dotenv import load_dotenv from huggingface_hub.hf_api import HfFolder +from plotly.subplots import make_subplots from quartz_solar_forecast.eval.forecast import run_forecast from quartz_solar_forecast.eval.metrics import metrics @@ -17,8 +20,6 @@ from quartz_solar_forecast.eval.pv import get_pv_metadata, get_pv_truth from quartz_solar_forecast.eval.utils import combine_forecast_ground_truth -from dotenv import load_dotenv - load_dotenv() try: @@ -61,7 +62,38 @@ def run_eval(testset_path: str = "dataset/testset.csv"): metrics(results_df, pv_metadata, include_night=False) # Visualizations - # TODO + results_df.set_index("timestamp", inplace=True) + + # sort by timestamp + results_df.sort_index(inplace=True, ascending=False) + + # select last 10 values + df_last10 = results_df[:10] + + traces = [] + traces.append( + go.Scatter( + x=df_last10.index, + y=df_last10["forecast_power"], + mode="lines", + name="Forecasted Power", + ) + ) + traces.append( + go.Scatter( + x=df_last10.index, + y=df_last10["generation_power"], + mode="lines", + name="Generated Power", + ) + ) + + fig = fig = go.Figure(data=traces) + fig.update_layout( + title="Evalution - Comparision Prediction vs. Actual", + xaxis_tickformat="%Y-%m-%d", + ) + fig.show(renderer="browser") # run_eval()