lr_housingprice / app.py
gridflowai's picture
Upload 3 files
3ac0ad2
raw
history blame
1.19 kB
import gradio as gr
import pickle
# Load the KNN model from the pickle file
with open('ols_model_results.pkl', 'rb') as f:
lr_model = pickle.load(f)
# Define the attributes without the intercept
attributes = [
("CRIM", (0, 100)),
("ZN", (0, 100)),
("INDUS", (0, 30)),
("CHAS", (0, 1)),
("NOX", (0, 1)),
("RM", (3, 9)),
("DIS", (0, 12)),
("RAD", (1, 24)),
("TAX", (100, 700)),
("PTRATIO", (13, 23)),
("LSTAT", (2, 38))
]
# Create a list of Input objects for each attribute
attribute_inputs = [
gr.Slider(minimum=min_val, maximum=max_val, label=name, default=min_val)
for name, (min_val, max_val) in attributes
]
# Prediction function
def predict(*args):
# Always prepend 1.0 to represent the intercept
input_data = [1.0] + [float(arg) for arg in args]
predicted_value = lr_model.predict([input_data])[0]
return f"Predicted value of the house: ${predicted_value * 1000:.2f}"
# The rest of the code to display UI remains the same.
# Create the interface
iface = gr.Interface(fn=predict, inputs=attribute_inputs, outputs="text", live=True)
# Launch the interface
iface.launch(server_name="0.0.0.0", server_port=7860)