Predicția prețului unei case - Simulare OJIA 2
Author: Mihai Nan
🏡 Predicția prețului locuințelor
Pentru această problemă trebuie să implementați un model de regresie capabil să prezică valoarea prețului unei case (Price) utilizând un set de date disponibil.
Performanța modelului se va evalua pe baza erorii medii absolute (MAE).
📊 Setul de date
Setul de date este organizat într-un fișier CSV și conține următoarele coloane:
- Square_Footage: Suprafața casei
- Num_Bedrooms: Numărul de dormitoare
- Num_Bathrooms: Numărul de băi
- Year_Built: Anul construcției
- Lot_Size: Dimensiunea terenului
- Garage_Size: Dimensiunea garajului
- Neighborhood_Quality: Calitatea vecinătății
- Footage_to_Lot_Ratio: Raportul dintre suprafața casei și dimensiunea terenului
- Total_Rooms: Numărul total de camere
- Age_of_House: Vârsta casei
- Garage_to_Footage_Ratio: Raportul dintre dimensiunea garajului și suprafața casei
- Avg_Room_Size: Dimensiunea medie a camerelor
- Price: Variabila țintă, prețul casei (valoare numerică)
- House_Orientation_Angle: Unghiul de orientare al casei
- Street_Alignment_Offset: Alinierea străzii
- Solar_Exposure_Index: Indexul de expunere solară
- Magnetic_Field_Strength: Intensitatea câmpului magnetic
- Vibration_Level: Nivelul vibrațiilor
🧩 Task-uri
🔹 Subtask 1 (10p)
Pentru fiecare locuință din setul de testare, determinați suprafața totală estimată ca suma dintre:
Square_Footage + Garage_Size + Lot_Size.
🔹 Subtask 2 (10p)
Pentru fiecare locuință din setul de testare, calculați raportul:
Garage_Size / Total_Rooms
Rezultatul va fi adăugat ca o nouă coloană: Garage_to_Room_Ratio.
🔹 Subtask 3 (10p)
Calculați indicele de stabilitate a mediului:
🔹 Subtask 4 (10p)
- Calculați media coloanei
Square_Footagepe setul de antrenare. - Pentru fiecare locuință din setul de testare, determinați:
|Square_Footage - Mean(Square_Footage_train)|
🔹 Subtask 5 (60p)
Construiți un model de regresie pentru predicția câmpului Price, utilizând setul de antrenament dataset_train.csv.
Determinați predicțiile pe setul de evaluare dataset_eval.csv (care nu conține coloana Price).
🧠 Note despre setul de date
- Câmpul-țintă:
Price - Variabilele numerice pot fi utilizate direct pentru regresie.
- Se recomandă tratarea valorilor lipsă și aplicarea scalării/normalizării pentru a îmbunătăți performanța modelului.
🧮 Criterii de evaluare
- Performanță: Modelul trebuie să obțină o MAE cât mai mică.
Formula utilizată pentru calculul MAE:
unde:
N= numărul de exemple din setul de test,y_i= valoarea reală,y^_i= valoarea prezisă de model.
💡 Notă
Dacă veți trimite sample_output, veți primi 5 puncte.
🗂️ Resurse utile
- Starter Kit complet – conține un schelet de la care puteți porni rezolvarea problemei