Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| def preprocess_input(data: dict) -> pd.DataFrame: | |
| """ | |
| Build a single-row DataFrame matching the training schema: | |
| ['gender','age','hypertension','heart_disease','ever_married', | |
| 'work_type','Residence_type','avg_glucose_level','bmi', | |
| 'smoking_status'] | |
| """ | |
| # Note: 'stroke' column is not included as a feature | |
| feature_cols = [ | |
| "gender","age","hypertension","heart_disease","ever_married", | |
| "work_type","Residence_type","avg_glucose_level","bmi", | |
| "smoking_status" | |
| ] | |
| df = pd.DataFrame([{k: data[k] for k in feature_cols}]) | |
| return df | |
| def predict_stroke(model, X: pd.DataFrame): | |
| """ | |
| Returns human-readable label and probability for the top class. | |
| """ | |
| proba = model.predict_proba(X)[0] | |
| idx = proba.argmax() | |
| label_map = {0: "No Stroke", 1: "Stroke"} | |
| return label_map[idx], proba[idx] | |