File size: 1,503 Bytes
8a4966f
 
 
 
 
 
316cd63
2deb236
fcad9bd
8a4966f
d14a256
eb1f860
4bf6a6a
eb1f860
d14a256
5a8af87
 
8a4966f
d13438a
 
918917d
 
 
 
 
 
 
 
 
 
4b1a293
918917d
 
 
 
 
 
82627a9
 
 
 
 
 
 
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
import gradio as gr
import numpy as np
from PIL import Image
import requests
import hopsworks
import joblib
import os
from datetime import datetime
project = hopsworks.login(api_key_value="B8TDkmcSyPyWFM2o.YuXEbXM7MUFk5gdBXFXsbMz24uZipqY4BttbZ9wIoZ0cn9vQd4bSWgj57vDGXqdh")

mr = project.get_model_registry()
model = mr.get_model("air_model_3", version=1)
model_dir = model.download()
model = joblib.load(model_dir + "/air_model3.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:2]
    y = model.predict(today_data)

    res = int(y[0])
    return res

date_today = datetime.now().strftime("%Y-%m-%d")

output_label = date_today + " 's air quality 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()