GradePrediction / app.py
DeltaSatellite1's picture
Update app.py
35accad verified
import gradio as gr
from autogluon.tabular import TabularPredictor
from huggingface_hub import snapshot_download
import pandas as pd
model_dir = snapshot_download(repo_id="DeltaSatellite1/grade_prediction")
predictor = TabularPredictor.load(model_dir)
def grade_predict(gpa,t_gpa,cls_grade,a_date,due_date,field,field_avg,category,category_w,category_avg,dha,dbd,diff,field_prof,teacher_exp,wdp,incentive,confidence,attendence,participation,procrastination):
df = pd.DataFrame([{
"weighted gpa":gpa,
"term gpa":t_gpa,
"class grade":cls_grade,
"assigned date":a_date,
"due date":due_date,
"field":field,
"field average (%)":field_avg,
"category":category,
"category weight":category_w,
"category average":category_avg,
"daily hours available":dha,
"days before due":dbd,
"difficulty":diff,
"field proficiency":field_prof,
"teacher experience": teacher_exp,
"work day positivity": wdp,
"incentive":incentive,
"confidence":confidence,
"attendence":attendence,
"participation":participation,
"procrastination": procrastination
}])
result = predictor.predict(df)
return result
demo = gr.Interface(
title="Grade Prediction Model",
description="idk",
fn=grade_predict,
inputs=[
gr.Number(label="Weighted GPA"),
gr.Number(label="Term GPA"),
gr.Number(label="Class grade"),
gr.DateTime(label="Assigned date", include_time=True),
gr.DateTime(label="Due date", include_time=True),
gr.Dropdown(["Math", "Reading", "History", "Science", "Computer Science"], label="Field"),
gr.Slider(0, 100, step=1, label="Field Average(%)"),
gr.Dropdown(["normal", "quiz", "test", "essay", "project", "lab"], label="Category"),
gr.Slider(0, 1, step=0.05, label="Category weight (0.00 - 1.00)"),
gr.Number(label="Category average"),
gr.Slider(0, 24, step=1, label="Average hours available per day"),
gr.Slider(0, 30, step=1, label="Days before due"),
gr.Dropdown(["high", "medium", "low"], label="Difficulty"),
gr.Dropdown(["high", "medium", "low"], label="Field proficiency"),
gr.Dropdown(["high", "medium", "low"], label="Teacher experience"),
gr.Dropdown(["high", "medium", "low"], label="Work-day positivity"),
gr.Dropdown(["high", "medium", "low"], label="Incentive"),
gr.Dropdown(["high", "medium", "low"], label="Confidence"),
gr.Dropdown(["high", "medium", "low"], label="Attendence"),
gr.Dropdown(["high", "medium", "low"], label="Participation"),
gr.Dropdown(["high", "medium", "low"], label="Procrastination"),
],
outputs=gr.Textbox(label="Score"))
demo.launch()