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()