This commit is contained in:
Alex Blank
2025-05-19 13:59:16 +02:00
parent 426f4d6963
commit c6defa2065
196 changed files with 18625 additions and 1 deletions
+61
View File
@@ -0,0 +1,61 @@
import numpy as np
import torch
from torch import nn
from utils.dataset_creation import inverse_scale_feature
def plot_prediction_windows(index: int,
training_configuration: dict,
item_x: np.ndarray,
item_y: np.ndarray,
preds: np.ndarray,
scalers: dict,
features_to_plot: list,
output_feature_names: list,
fig_widget):
window_features = item_x[index]
indices = np.arange(window_features.shape[0])
actual = item_y[index].ravel()
predicted = preds[index]
# clear previous traces
fig_widget.data = []
for feature in features_to_plot:
feature_index = feature["index"]
feature_name = feature["name"]
fig_widget.add_scatter(
x=indices,
y=window_features[:, feature_index],
mode="lines",
name=feature_name,
)
num_outputs = predicted.shape[-1]
scaled_preds = list()
for i in range(num_outputs):
if isinstance(training_configuration["loss_functions"][i], nn.BCEWithLogitsLoss):
output = torch.sigmoid(torch.tensor(predicted[i]))
else:
output = predicted[i]
output = float(output)
scaled_output = inverse_scale_feature(output,
output_feature_names[i],
scalers)
scaled_preds.append(scaled_output)
scaled_actuals = list()
for i in range(num_outputs):
output = float(actual[i].numpy())
scaled_output = inverse_scale_feature(output,
output_feature_names[i],
scalers)
scaled_actuals.append(scaled_output)
# add actual and predicted values
print(f"actual: {scaled_actuals}, predicted: {scaled_preds}")