Spaces:
Sleeping
Sleeping
| # !pip install gradio ipywidgets | |
| import pandas as pd | |
| import gradio as gr | |
| import joblib | |
| # "Artifacts" | |
| pipeline = joblib.load("pipeline.joblib") | |
| label_pipeline = joblib.load("label_pipeline.joblib") | |
| cities = joblib.load("cities.joblib") | |
| def predict(city, location, area, bedrooms, baths): | |
| sample = dict() | |
| sample["city"] = city | |
| sample["location"] = location | |
| sample["Area_in_Marla"] = area # Column names matching feature names | |
| sample["bedrooms"] = bedrooms | |
| sample["baths"] = baths | |
| price = pipeline.predict(pd.DataFrame([sample])) | |
| price = label_pipeline.inverse_transform([price]) | |
| return int(price[0][0]) | |
| # https://www.gradio.app/guides | |
| with gr.Blocks() as blocks: | |
| city = gr.Dropdown(cities, value=cities[0], label="City") | |
| location = gr.Textbox(label="Location") | |
| area = gr.Number(label="Area", value=1, minimum=0.5, step=0.5) | |
| bedrooms = gr.Slider(label="Bedrooms", minimum=0, maximum=10, step=1) | |
| baths = gr.Slider(label="Baths", minimum=0, maximum=10, step=1) | |
| price = gr.Number(label="Price") | |
| inputs = [city, location, area, bedrooms, baths] | |
| outputs = [price] | |
| predict_btn = gr.Button("Predict") | |
| predict_btn.click(predict, inputs=inputs, outputs=outputs) | |
| if __name__ == "__main__": | |
| blocks.launch() # Local machine only | |
| # blocks.launch(server_name="0.0.0.0") # LAN access to local machine | |
| # blocks.launch(share=True) # Public access to local machine | |