karan0301/hardware_data
0
1from fastapi import FastAPI2import joblib3import numpy as np4import requests5 6app = FastAPI()7 8# Load model9model = joblib.load("rf_final.pkl")10 11# 🔹 Your Firebase Realtime Database URL12FIREBASE_URL = "https://YOUR_PROJECT_ID.firebaseio.com/LiveData.json"13 14@app.get("/")15def home():16 return {"message": "Flood Prediction API Running"}17 18@app.get("/predict")19def predict_from_firebase():20 21 # 1️⃣ Fetch data from Firebase22 response = requests.get(FIREBASE_URL)23 data = response.json()24 25 # 2️⃣ Extract values26 humidity = data["humidity"]27 pressure = data["pressure"]28 rainValue = data["rainValue"]29 temperature = data["temperature"]30 turbidity = data["turbidity"]31 waterLevel = data["waterLevel"]32 33 # 3️⃣ Create feature array34 features = np.array([[ 35 humidity,36 pressure,37 rainValue,38 temperature,39 turbidity,40 waterLevel41 ]])42 43 # 4️⃣ Predict44 prediction = model.predict(features)45 probability = model.predict_proba(features)46 47 result = {48 "floodAlert": bool(prediction[0]),49 "riskProbability": float(probability[0][1])50 }51 52 return result53 