Spaces:
Sleeping
Sleeping
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) |