33 lines
941 B
Python
33 lines
941 B
Python
import logging
|
|
|
|
# Configure logging
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format="%(asctime)s [%(levelname)s] %(name)s - %(message)s",
|
|
)
|
|
logger = logging.getLogger(__name__)
|
|
|
|
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 |