Spaces:
No application file
No application file
| from input_schemas import ModelInput | |
| import pandas as pd | |
| import numpy as np | |
| from sklearn.preprocessing import StandardScaler, LabelEncoder | |
| import joblib # or pickle | |
| # Load your trained Ridge model | |
| model = joblib.load("./ridge_best_model.pkl") | |
| def predict_output(input: ModelInput): | |
| df = pd.DataFrame([input.dict()]) | |
| categorical_cols = df.select_dtypes(include=['object']).columns.tolist() | |
| bool_cols = df.select_dtypes(include=['bool']).columns.tolist() | |
| for col in categorical_cols: | |
| le = LabelEncoder() | |
| df[col] = le.fit_transform(df[col]) | |
| df[bool_cols] = df[bool_cols].astype(int) | |
| numeric_cols = df.select_dtypes(include=[np.number]).columns | |
| scaler = StandardScaler() | |
| df[numeric_cols] = scaler.fit_transform(df[numeric_cols]) | |
| prediction = model.predict(df) | |
| return float(prediction[0]) | |