Skip to main content

Predicția scorului la examen - Simulare OJIA 3

Author: Mihai Nan

Medium
Your best score: N/A
Problem Description

🏫 Predicția scorului la examen

Pentru această problemă trebuie să implementați un model de regresie capabil să prezică scorul obținut la examen (Exam_Score) utilizând un set de date disponibil. Setul de date este organizat într-un fișier CSV, iar performanța modelului se va evalua pe baza Mean Absolute Error (MAE).

formula MAE


🔹 Setul de date

Setul de date conține următoarele coloane:

  • ID: Număr unic de identificare al studentului
  • Hours_Studied: Numărul de ore petrecute studiind
  • Attendance: Procentul de prezență la cursuri
  • Parental_Involvement: Nivelul de implicare al părinților (Low, Medium, High)
  • Access_to_Resources: Accesul la resurse educaționale (Low, Medium, High)
  • Extracurricular_Activities: Participarea la activități extracurriculare (Yes/No)
  • Sleep_Hours: Numărul mediu de ore de somn pe noapte
  • Previous_Scores: Scorurile obținute anterior la examene
  • Motivation_Level: Nivelul de motivație (Low, Medium, High)
  • Internet_Access: Accesul la internet pentru studiu (Yes/No)
  • Tutoring_Sessions: Numărul de sesiuni de meditații
  • Family_Income: Venitul familiei (Low, Medium, High)
  • Teacher_Quality: Calitatea profesorilor percepută de elev (Low, Medium, High)
  • School_Type: Tipul de școală (Public/Private)
  • Peer_Influence: Influența colegilor asupra elevului (Negative, Neutral, Positive)
  • Physical_Activity: Numărul de ore de activitate fizică săptămânal
  • Learning_Disabilities: Prezența dificultăților de învățare (Yes/No)
  • Parental_Education_Level: Nivelul de educație al părinților (High School, College, Postgraduate)
  • Distance_from_Home: Distanța dintre casă și școală (Near, Moderate, Far)
  • Gender: Genul elevului (Male/Female)
  • Exam_Score: Variabila țintă, scorul obținut la examen (valoare numerică)

📚 Task-uri

Subtask 1 (10 puncte)

Calculați media valorilor din coloana Hours_Studied pe setul de antrenare. Pentru fiecare student din test, determinați modulul diferenței dintre Hours_Studied și media calculată.

Subtask 2 (10 puncte)

Determinați pentru fiecare student din test dacă acesta doarme puțin (<7 ore). Rezultatul va fi True sau False.

Subtask 3 (10 puncte)

Numărați câți studenți din setul de antrenare au avut un scor anterior (Previous_Scores) mai mare sau egal cu al fiecărui student din test.

Subtask 4 (10 puncte)

Determinați numărul de studenți din antrenare cu același nivel de motivație (Motivation_Level) ca fiecare student din test.

Subtask 5 (60 puncte)

Construiți un model de regresie pentru a prezice Exam_Score pe baza caracteristicilor furnizate. Modelul trebuie să generalizeze pe date noi și va fi evaluat cu MAE.


📊 Note despre setul de date

  • Câmpul-țintă: Exam_Score
  • Modelul trebuie antrenat pe train_data.csv și evaluat pe test_data.csv
  • Se recomandă verificarea valorilor lipsă și normalizarea caracteristicilor.

⚙️ Criterii de evaluare

  • Performanță: MAE cât mai mic

📨 Formatul fișierului de submisie

Fișierul de submisie trebuie să fie un CSV cu exact trei coloane:

ColoanăTipDescriere
subtaskIDintegerReprezintă ID-ul subtask-ului (de la 1 la 5).
datapointIDinteger/stringReprezintă identificatorul unic al rândului din setul de test (ID).
answerfloat / int / boolRăspunsul pentru subtask-ul respectiv. Tipul valorii depinde de subtask:
• Subtask 1: float
• Subtask 2: boolean
• Subtask 3: integer
• Subtask 4: integer
• Subtask 5: float (predicții model)

🔹 Exemple

subtaskIDdatapointIDanswer
110112.5
2101True
31017
41013
510185.3

Important: Fiecare rând din CSV reprezintă răspunsul pentru un singur subtask și un singur datapoint. Pentru fiecare datapointID trebuie să existe câte un rând pentru fiecare subtask.


📝 Notă

Trimiterea unui sample_output generează 6 puncte.

🗂️ Resurse utile

Submit Solution
Upload output file and optionally source code for evaluation.

Submission File

Source Code File (optional)

Sign in to upload a submission.