33 lines
941 B
Python
Raw Normal View History

2025-02-05 19:15:06 +00:00
import logging
2025-02-05 17:51:05 +00:00
2025-02-05 19:15:06 +00:00
# Configure logging
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(name)s - %(message)s",
)
logger = logging.getLogger(__name__)
2025-02-05 17:51:05 +00:00
2025-02-05 19:15:06 +00:00
def __main__(probability: float) -> dict:
logger.info("Received input: probability=%.8f", float(probability))
if not isinstance(probability, (int, float)):
logger.error("Invalid input type: probability=%s", type(probability).__name__)
raise ValueError("Input probability must be a number (int or float)")
if probability <= 0.33:
grade = "G1"
elif 0.33 < probability <= 0.41:
grade = "G2"
elif 0.41 < probability <= 0.48:
grade = "G3"
elif 0.48 < probability <= 0.61:
grade = "G4"
elif 0.61 < probability <= 0.65:
grade = "G5"
else:
grade = "G6"
result = {"grade": grade}
logger.info("Fraud V1 Grade: %s", result)
return result