Download handler.py from rajkumar92/fraud-detection-xgboost: direct link, hf CLI and curl.
- Browser
- Download file 827 Bytes
-
https://huggingface.co/rajkumar92/fraud-detection-xgboost/resolve/main/handler.py
- Command line
-
hf download hf://rajkumar92/fraud-detection-xgboost/handler.py
-
curl -L -o handler.py https://huggingface.co/rajkumar92/fraud-detection-xgboost/resolve/main/handler.py
827 Bytes
| import os | |
| import joblib | |
| import numpy as np | |
| class EndpointHandler: | |
| def __init__(self, path=""): | |
| base = path if path else os.path.dirname(os.path.abspath(__file__)) | |
| self.model = joblib.load(os.path.join(base, "fraud_model.joblib")) | |
| self.scaler = joblib.load(os.path.join(base, "scaler.joblib")) | |
| def __call__(self, data): | |
| inputs = data.get("inputs", data) | |
| feature_order = ["Time"] + [f"V{i}" for i in range(1, 29)] + ["Amount"] | |
| row = np.array([[inputs[f] for f in feature_order]]) | |
| row[:, [0, -1]] = self.scaler.transform(row[:, [0, -1]]) | |
| pred = self.model.predict(row)[0] | |
| prob = self.model.predict_proba(row)[0][1] | |
| return { | |
| "prediction": "fraud" if pred == 1 else "legit", | |
| "fraud_probability": float(prob) | |
| } | |