Cloud-Cover-Nowcasting / evaluate.py
Hrishi-2003's picture
Upload 10 files
b956a44 verified
raw
history blame contribute delete
902 Bytes
import matplotlib.pyplot as plt
from sklearn.metrics import mean_squared_error, structural_similarity as ssim
def evaluate_model(model, x_test, y_test):
predictions = model.predict(x_test)
mse = mean_squared_error(y_test.flatten(), predictions.flatten())
ssim_score = ssim(y_test[0, -1, :, :, 0], predictions[0, -1, :, :, 0], data_range=1.0)
print(f"Mean Squared Error: {mse}")
print(f"Structural Similarity Index: {ssim_score}")
return predictions
def visualize_predictions(x_test, y_test, predictions, idx=0):
fig, axes = plt.subplots(1, 3, figsize=(15, 5))
axes[0].imshow(x_test[idx, -1, :, :, 0], cmap='gray')
axes[0].set_title("Input Frame")
axes[1].imshow(y_test[idx, -1, :, :, 0], cmap='gray')
axes[1].set_title("True Frame")
axes[2].imshow(predictions[idx, -1, :, :, 0], cmap='gray')
axes[2].set_title("Predicted Frame")
plt.show()