File size: 1,663 Bytes
8a4966f 316cd63 c479c73 67db5f1 fcad9bd 8a4966f d14a256 c479c73 4bf6a6a c479c73 d14a256 5a8af87 8a4966f d13438a 918917d 43f19a9 918917d 4b1a293 918917d 43f19a9 918917d 82627a9 9df11a9 34dd392 82627a9 484c23b c479c73 8a4966f f31f0f6 d13438a 8a4966f f39f1d3 82627a9 8a4966f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
import gradio as gr
import numpy as np
from PIL import Image
import requests
import hopsworks
import joblib
import os
import xgboost
from datetime import datetime, timedelta
project = hopsworks.login(api_key_value="B8TDkmcSyPyWFM2o.YuXEbXM7MUFk5gdBXFXsbMz24uZipqY4BttbZ9wIoZ0cn9vQd4bSWgj57vDGXqdh")
mr = project.get_model_registry()
model = mr.get_model("air_model_4", version=1)
model_dir = model.download()
model = joblib.load(model_dir + "/air_model4.pkl")
def forecast():
fs = project.get_feature_store()
feature_view = fs.get_feature_view(
name = 'miami_data_air_quality_fv',
version = 1
)
train_data = feature_view.get_training_data(1)[0]
train_data = train_data.drop(labels = 'city_y',axis =1)
train_data = train_data.rename(columns = {'city_x':'city'})
train_data = train_data.sort_values(by="date", ascending=True).reset_index(drop=True)
train_data["aqi_next_day"] = train_data.groupby('city')['aqi'].shift(1)
X = train_data.drop(columns=["date"]).fillna(0)
y = X.pop("aqi_next_day")
X = X.drop(columns =['city','conditions']).fillna(0)
today_data = X[1:8]
y = model.predict(today_data)
res = []
for i in y:
res.append(int(i))
return res
# date_today = datetime.now()
# day = timedelta(days = 1)
# date_today = date_today + day
# date_today = date_today.strftime("%Y-%m-%d")
output_label = " The air quality for the next 7 days is "
demo = gr.Interface(
fn=forecast,
title="Air Quality Prediction",
description="Get aqi value",
allow_flagging="never",
inputs=[],
outputs=gr.Textbox(label=output_label))
demo.launch() |