File size: 6,092 Bytes
558180a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import streamlit as st
import pandas as pd
import numpy as np
import pickle

model = pickle.load(open('Akademi.pkl', 'rb'))
scaler = pickle.load(open('scaler.pkl', 'rb'))

st.title("Academy Prediction")

marital_status = st.selectbox("Marital Status", options=["Married", "Single", "Divorced"])
application_mode = st.selectbox("Application Mode", options=["Online", "Offline"])
application_order = st.number_input("Application Order", min_value=1)
course = st.number_input("Course", min_value=1)
attendance = st.selectbox("Daytime/Evening Attendance", options=["Daytime", "Evening"])
previous_qualification = st.selectbox("Previous Qualification", options=["None", "High School", "Bachelor", "Master"])
previous_qualification_grade = st.number_input("Previous Qualification Grade", min_value=0.0)
nationality = st.selectbox("Nationality", options=["National", "International"])
mother_qualification = st.selectbox("Mother's Qualification", options=["None", "High School", "Bachelor", "Master"])
father_qualification = st.selectbox("Father's Qualification", options=["None", "High School", "Bachelor", "Master"])
mother_occupation = st.selectbox("Mother's Occupation", options=["Unemployed", "Employed"])
father_occupation = st.selectbox("Father's Occupation", options=["Unemployed", "Employed"])
admission_grade = st.number_input("Admission Grade", min_value=0.0)
displaced = st.selectbox("Displaced", options=["No", "Yes"])
educational_special_needs = st.selectbox("Educational Special Needs", options=["No", "Yes"])
debtor = st.selectbox("Debtor", options=["No", "Yes"])
tuition_fees_up_to_date = st.selectbox("Tuition Fees Up to Date", options=["No", "Yes"])
gender = st.selectbox("Gender", options=["Male", "Female"])
scholarship_holder = st.selectbox("Scholarship Holder", options=["No", "Yes"])
age_at_enrollment = st.number_input("Age at Enrollment", min_value=0)
international = st.selectbox("International", options=["No", "Yes"])
curricular_units_1st_sem_credited = st.number_input("Curricular Units 1st Sem (Credited)", min_value=0)
curricular_units_1st_sem_enrolled = st.number_input("Curricular Units 1st Sem (Enrolled)", min_value=0)
curricular_units_1st_sem_evaluations = st.number_input("Curricular Units 1st Sem (Evaluations)", min_value=0)
curricular_units_1st_sem_approved = st.number_input("Curricular Units 1st Sem (Approved)", min_value=0)
curricular_units_1st_sem_grade = st.number_input("Curricular Units 1st Sem (Grade)", min_value=0.0)
curricular_units_1st_sem_without_evaluations = st.number_input("Curricular Units 1st Sem (Without Evaluations)", min_value=0)
curricular_units_2nd_sem_credited = st.number_input("Curricular Units 2nd Sem (Credited)", min_value=0)
curricular_units_2nd_sem_enrolled = st.number_input("Curricular Units 2nd Sem (Enrolled)", min_value=0)
curricular_units_2nd_sem_evaluations = st.number_input("Curricular Units 2nd Sem (Evaluations)", min_value=0)
curricular_units_2nd_sem_approved = st.number_input("Curricular Units 2nd Sem (Approved)", min_value=0)
curricular_units_2nd_sem_grade = st.number_input("Curricular Units 2nd Sem (Grade)", min_value=0.0)
curricular_units_2nd_sem_without_evaluations = st.number_input("Curricular Units 2nd Sem (Without Evaluations)", min_value=0)
unemployment_rate = st.number_input("Unemployment Rate", min_value=0.0)
inflation_rate = st.number_input("Inflation Rate", min_value=0.0)
gdp = st.number_input("GDP", min_value=0.0)

input_data = pd.DataFrame({
    'Marital_status': [marital_status],
    'Application_mode': [application_mode],
    'Application_order': [application_order],
    'Course': [course],
    'Daytime/evening_attendance': [attendance],
    'Previous_qualification': [previous_qualification],
    'Previous_qualification_(grade)': [previous_qualification_grade],
    'Nacionality': [nationality],
    'Mother\'s_qualification': [mother_qualification],
    'Father\'s_qualification': [father_qualification],
    'Mother\'s_occupation': [mother_occupation],
    'Father\'s_occupation': [father_occupation],
    'Admission_grade': [admission_grade],
    'Displaced': [1 if displaced == "Yes" else 0],
    'Educational_special_needs': [1 if educational_special_needs == "Yes" else 0],
    'Debtor': [1 if debtor == "Yes" else 0],
    'Tuition_fees_up_to_date': [1 if tuition_fees_up_to_date == "Yes" else 0],
    'Gender': [gender],
    'Scholarship_holder': [1 if scholarship_holder == "Yes" else 0],
    'Age_at_enrollment': [age_at_enrollment],
    'International': [1 if international == "Yes" else 0],
    'Curricular_units_1st_sem_(credited)': [curricular_units_1st_sem_credited],
    'Curricular_units_1st_sem_(enrolled)': [curricular_units_1st_sem_enrolled],
    'Curricular_units_1st_sem_(evaluations)': [curricular_units_1st_sem_evaluations],
    'Curricular_units_1st_sem_(approved)': [curricular_units_1st_sem_approved],
    'Curricular_units_1st_sem_(grade)': [curricular_units_1st_sem_grade],
    'Curricular_units_1st_sem_(without_evaluations)': [curricular_units_1st_sem_without_evaluations],
    'Curricular_units_2nd_sem_(credited)': [curricular_units_2nd_sem_credited],
    'Curricular_units_2nd_sem_(enrolled)': [curricular_units_2nd_sem_enrolled],
    'Curricular_units_2nd_sem_(evaluations)': [curricular_units_2nd_sem_evaluations],
    'Curricular_units_2nd_sem_(approved)': [curricular_units_2nd_sem_approved],
    'Curricular_units_2nd_sem_(grade)': [curricular_units_2nd_sem_grade],
    'Curricular_units_2nd_sem_(without_evaluations)': [curricular_units_2nd_sem_without_evaluations],
    'Unemployment_rate': [unemployment_rate],
    'Inflation_rate': [inflation_rate],
    'GDP': [gdp],
})

input_data = pd.get_dummies(input_data, drop_first=True)
input_data = input_data.reindex(columns=scaler.get_feature_names_out(), fill_value=0)

if st.button('Predict'):
    input_scaled = scaler.transform(input_data)
    prediction = model.predict(input_scaled)
    predicted_class = np.argmax(prediction, axis=1)
    st.write(f"Predicted class: {predicted_class[0]}")