File size: 2,840 Bytes
20f6cc4
ec8a31f
 
 
20f6cc4
ec8a31f
 
20f6cc4
ec8a31f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1ae5eb9
ec8a31f
 
 
 
 
35accad
 
ec8a31f
 
 
 
 
 
 
 
 
 
 
 
35accad
 
 
 
ec8a31f
35accad
 
 
 
 
 
 
 
 
 
 
ec8a31f
 
ce747b6
20f6cc4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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()