Spaces:
Sleeping
Sleeping
Upload app.py with huggingface_hub
Browse files
app.py
CHANGED
|
@@ -23,8 +23,6 @@ engineered_cols = [
|
|
| 23 |
"AVRR_PNN50", "CV_SDNN", "RMSSD_sq", "SDNN_sq"
|
| 24 |
]
|
| 25 |
|
| 26 |
-
athlete_id_cols = [c for c in feature_cols if c.startswith("athlete_")]
|
| 27 |
-
|
| 28 |
|
| 29 |
class FatigueInput(BaseModel):
|
| 30 |
AVRR: float
|
|
@@ -38,6 +36,7 @@ class FatigueInput(BaseModel):
|
|
| 38 |
|
| 39 |
|
| 40 |
def build_features(data: dict) -> pd.DataFrame:
|
|
|
|
| 41 |
row = dict(data)
|
| 42 |
row["RMSSD_SDNN_ratio"] = row["RMSSD"] / (abs(row["SDNN"]) + 0.001)
|
| 43 |
row["HRV_index"] = (row["SDNN"] + row["RMSSD"]) / 2
|
|
@@ -47,8 +46,6 @@ def build_features(data: dict) -> pd.DataFrame:
|
|
| 47 |
row["CV_SDNN"] = row["Coefficient_of_Variation"] * row["SDNN"]
|
| 48 |
row["RMSSD_sq"] = row["RMSSD"] ** 2
|
| 49 |
row["SDNN_sq"] = row["SDNN"] ** 2
|
| 50 |
-
for col in athlete_id_cols:
|
| 51 |
-
row[col] = 0
|
| 52 |
return pd.DataFrame([row])[feature_cols]
|
| 53 |
|
| 54 |
|
|
@@ -81,4 +78,5 @@ def predict(input_data: FatigueInput):
|
|
| 81 |
|
| 82 |
@app.post("/predictGMM")
|
| 83 |
def predict_gmm(input_data: FatigueInput):
|
|
|
|
| 84 |
return predict(input_data)
|
|
|
|
| 23 |
"AVRR_PNN50", "CV_SDNN", "RMSSD_sq", "SDNN_sq"
|
| 24 |
]
|
| 25 |
|
|
|
|
|
|
|
| 26 |
|
| 27 |
class FatigueInput(BaseModel):
|
| 28 |
AVRR: float
|
|
|
|
| 36 |
|
| 37 |
|
| 38 |
def build_features(data: dict) -> pd.DataFrame:
|
| 39 |
+
"""Compute engineered features from the 8 base inputs the backend sends."""
|
| 40 |
row = dict(data)
|
| 41 |
row["RMSSD_SDNN_ratio"] = row["RMSSD"] / (abs(row["SDNN"]) + 0.001)
|
| 42 |
row["HRV_index"] = (row["SDNN"] + row["RMSSD"]) / 2
|
|
|
|
| 46 |
row["CV_SDNN"] = row["Coefficient_of_Variation"] * row["SDNN"]
|
| 47 |
row["RMSSD_sq"] = row["RMSSD"] ** 2
|
| 48 |
row["SDNN_sq"] = row["SDNN"] ** 2
|
|
|
|
|
|
|
| 49 |
return pd.DataFrame([row])[feature_cols]
|
| 50 |
|
| 51 |
|
|
|
|
| 78 |
|
| 79 |
@app.post("/predictGMM")
|
| 80 |
def predict_gmm(input_data: FatigueInput):
|
| 81 |
+
"""Legacy endpoint -- redirects to the supervised classifier."""
|
| 82 |
return predict(input_data)
|