Spaces:
Runtime error
Runtime error
File size: 1,461 Bytes
724b321 7bc2636 |
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 37 38 39 40 41 |
import time
from typing import List, Dict, Callable
def summarize_predictions(pred_func: Callable, data) -> Dict:
"""
Exécute une fonction de prédiction sur des données et retourne
les statistiques générales des prédictions.
Args:
pred_func: fonction de prédiction, doit accepter `data` et retourner une liste ou array de prédictions binaires (0/1)
data: données sur lesquelles effectuer la prédiction
Returns:
dict contenant : total_samples, total_attacks, total_normal,
processing_time, avg_pred_time, attack_ratio, normal_ratio
"""
start_time = time.time()
predictions = pred_func(data)
end_time = time.time()
total_samples = len(predictions)
total_attacks = sum(predictions) # 1 = attaque
total_normal = total_samples - total_attacks
processing_time = end_time - start_time
avg_pred_time = processing_time / total_samples if total_samples > 0 else 0
attack_ratio = total_attacks / total_samples if total_samples > 0 else 0
normal_ratio = total_normal / total_samples if total_samples > 0 else 0
return {
"total_samples": total_samples,
"total_attacks": total_attacks,
"total_normal": total_normal,
"processing_time_sec": processing_time,
"avg_pred_time_sec": avg_pred_time,
"attack_ratio": attack_ratio,
"normal_ratio": normal_ratio,
"predictions": predictions
}
|