File size: 1,213 Bytes
706626a
3fedf2b
 
706626a
 
64c2ffd
706626a
 
 
3fedf2b
 
 
 
 
 
706626a
64c2ffd
60d53f2
64c2ffd
706626a
64c2ffd
 
3fedf2b
64c2ffd
 
 
706626a
 
 
64c2ffd
 
 
60d53f2
64c2ffd
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
import requests
import geopy
import joblib
import gradio as gr


# Load the trained model
model = joblib.load('hackathonrf.joblib')

# Function to get latitude and longitude from location name
def get_coordinates(location):
    geolocator = geopy.geocoders.Nominatim(user_agent="air_quality_app")
    location = geolocator.geocode(location)
    return location.latitude, location.longitude

# Function to get AQI value from OpenWeatherMap API
def get_aqi(latitude, longitude, api_key):
    url = f"http://api.openweathermap.org/data/2.5/air_pollution?lat={latitude}&lon={longitude}&appid={api_key}"
    return aqi_value

# Function to make prediction
def predict_air_quality(location, api_key):
    latitude, longitude = get_coordinates(location)
    aqi_value = get_aqi(latitude, longitude, api_key)
    prediction = model.predict([[aqi_value, aqi_value, aqi_value, aqi_value]])
    return prediction[0]

# Create Gradio interface
iface = gr.Interface(fn=predict_air_quality, 
                      inputs=["text", "text"], 
                      outputs="text", 
                      title="Air Quality Prediction",
                      description="Enter location and OpenWeatherMap API key:")
iface.launch()