Spaces:
Runtime error
Runtime error
| import pickle | |
| from sklearn.linear_model import LogisticRegression | |
| import gradio as gr | |
| import numpy as np | |
| with open('logreg_model.pkl', "rb") as file: | |
| model = pickle.load(file) | |
| def predict_admission(gre_score, toefl_score, university_rating, sop, lor, cgpa, research, threshold=0.5): | |
| # Convert 'Yes'/'No' to 1/0 for the 'Research' field | |
| research = 1 if research == "Yes" else 0 | |
| # Create an input array from the provided values | |
| input_data = np.array([[1, gre_score, toefl_score, university_rating, sop, lor, cgpa, research]]) # Added a 1 for the intercept | |
| # Make a prediction | |
| prediction_probability = loaded_model.predict(input_data)[0] | |
| prediction = 'Admit' if prediction_probability >= threshold else 'No Admit' | |
| # Custom formatting for output | |
| prediction_color = "green" if prediction == 'Admit' else "red" | |
| result = f"<div style='font-size: 24px; color: {prediction_color}; font-weight: bold; font-family: Arial Black;'>Admission Prediction: {prediction}</div>" | |
| result += f"<br>Probability: {prediction_probability:.2f}" | |
| result += f"<br>Threshold Used: {threshold}" | |
| return result | |
| # Define the Gradio interface | |
| iface = gr.Interface( | |
| fn=predict_admission, | |
| inputs=[ | |
| gr.Number(label="GRE Score"), # Set maximum GRE score | |
| gr.Number(label="TOEFL Score"), | |
| gr.Slider(minimum=1, maximum=5, label="University Rating"), | |
| gr.Slider(minimum=1, maximum=5, label="SOP"), | |
| gr.Slider(minimum=1, maximum=5, label="LOR"), | |
| gr.Number(label="CGPA"), | |
| gr.Radio(choices=["Yes", "No"], label="Research", value="No"), | |
| gr.Slider(minimum=0, maximum=1, step=0.01, value=0.5, label="Threshold") | |
| ], | |
| outputs=gr.HTML(label="Prediction"), | |
| allow_flagging="never" | |
| ) | |
| iface.launch() |