Spaces:
Sleeping
Sleeping
File size: 2,046 Bytes
3ea8af4 d51d681 d94508f d51d681 d94508f d51d681 d94508f d51d681 d94508f d51d681 3ea8af4 d94508f 3ea8af4 d94508f 3ea8af4 d94508f 3ea8af4 d94508f d51d681 d94508f d51d681 3ea8af4 |
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 |
import streamlit as st
import pickle
from sklearn.ensemble import RandomForestRegressor
import numpy as np
# Load the saved model
with open('rf_model.pkl', 'rb') as file:
model = pickle.load(file)
# Define the function to make predictions
def make_prediction(model, input_data):
prediction = model.predict(input_data)
return prediction
# Define the function to calculate GPA
def calculate_gpa(total_score):
if total_score >= 70:
return 'A (5 points)'
elif total_score >= 60:
return 'B (4 points)'
elif total_score >= 50:
return 'C (3 points)'
elif total_score >= 45:
return 'D (2 points)'
else:
return 'F (0 points)'
# Create the Streamlit app
def main():
# Set page title and configure layout
st.set_page_config(page_title="Exam Score Prediction", layout="wide")
# Add a title and description
st.title("Exam Score Prediction")
st.markdown(
"This app predicts exam scores based on input features such as level, course units, attendance, mid-semester score, and assignments."
)
# Create input fields
col1, col2 = st.columns(2)
with col1:
level = st.number_input("Level", min_value=200, max_value=400, step=1)
course_units = st.number_input("Course Units", min_value=1, max_value=4, step=1)
with col2:
attendance = st.slider("Attendance", min_value=1, max_value=10, step=1)
mid_semester = st.slider("Mid Semester Score", min_value=1, max_value=20, step=1)
assignments = st.slider("Assignments", min_value=1, max_value=10, step=1)
# Calculate total score
total_score = attendance + mid_semester + assignments
# Make prediction
if st.button("Predict Exam Score"):
prediction = make_prediction(model, np.array([[level, course_units, total_score]]))
st.write(f"Predicted Exam Score: {prediction[0]:.2f}")
# Calculate GPA
gpa = calculate_gpa(total_score)
st.write(f"Predicted GPA: {gpa}")
if __name__ == '__main__':
main()
|