Spaces:
Running on Zero
Running on Zero
Download app/model.py from ANL2001/Housing_Price_API: direct link, hf CLI and curl.
- Browser
- Download file 905 Bytes
-
https://huggingface.co/spaces/ANL2001/Housing_Price_API/resolve/main/app/model.py
- Command line
-
hf download hf://spaces/ANL2001/Housing_Price_API/app/model.py
-
curl -L -o model.py https://huggingface.co/spaces/ANL2001/Housing_Price_API/resolve/main/app/model.py
905 Bytes
| import os | |
| import numpy as np | |
| import joblib | |
| import pandas as pd | |
| ARTIFACTS_DIR = os.path.join(os.path.dirname(__file__), "..", "ml", "artifacts") | |
| _manual_processor = None | |
| _stack = None | |
| _core_features = None | |
| def load_artifacts(): | |
| global _manual_processor, _stack, _core_features | |
| _manual_processor = joblib.load(os.path.join(ARTIFACTS_DIR, "manual_processor.joblib")) | |
| _stack = joblib.load(os.path.join(ARTIFACTS_DIR, "stack.joblib")) | |
| _core_features = joblib.load(os.path.join(ARTIFACTS_DIR, "core_features.joblib")) | |
| print("Model artifacts loaded.") | |
| def predict(input_df: pd.DataFrame) -> float: | |
| if _stack is None: | |
| raise RuntimeError("Model not loaded. Call load_artifacts() first.") | |
| X = input_df[_core_features].copy() | |
| X_processed = _manual_processor.transform(X) | |
| log_pred = _stack.predict(X_processed) | |
| return float(np.expm1(log_pred)[0]) | |