Spaces:
Sleeping
Sleeping
| import joblib | |
| import pandas as pd | |
| class EndpointHandler: | |
| def __init__(self, path=""): | |
| # Load model dari folder repo | |
| self.bundle = joblib.load(f"{path}/nutrisnaps_rf_bundle.joblib") | |
| self.model = self.bundle['model'] | |
| self.feature_names = self.bundle['feature_names'] | |
| self.impute_col = self.bundle['impute_col'] | |
| def __call__(self, data): | |
| # Ambil input JSON | |
| inputs = data.pop("inputs", data) | |
| df_input = pd.DataFrame([inputs]) | |
| # Penyesuaian kolom fitur | |
| for col in self.feature_names: | |
| if col not in df_input.columns: | |
| df_input[col] = 0 | |
| df_input = df_input[self.feature_names] | |
| # Prediksi | |
| prediction = self.model.predict(df_input) | |
| return {"prediction": prediction.tolist()} | |