Autor: Ilie David Alexandru
Ai fost recrutat ca data scientist într-un mic „laborator de predicții economice". Sarcina ta este să-ți dai seama cine sparge bariera de 50.000 USD pe an și cine nu, folosind date reale despre educație, muncă și viața de zi cu zi. Ai la dispoziție două fișiere cu date socio-economice, descrise mai jos:
| Coloană | Descriere |
|---|---|
| sampleid | Identificator unic pentru fiecare observație |
| age | Vârsta persoanei |
| workclass | Tipul angajatorului (ex: Private, Self-emp-not-inc etc.) |
| fnlwgt | Greutate finală din recensământ (final weight) |
| education | Nivel educațional (ex: Bachelors, Masters etc.) |
| educational_num | Reprezentare numerică a nivelului educațional |
| marital_status | Stare civilă |
| occupation | Ocupația |
| relationship | Relația în gospodărie |
| race | Rasă |
| gender | Gen |
| capital_gain | Câștiguri de capital |
| capital_loss | Pierderi de capital |
| hours_per_week | Ore lucrate pe săptămână |
| native_country | Țara de origine |
| profile_description | Descriere textuală a profilului profesional |
| income | Venit anual (<=50K / >50K) – coloană țintă |
Notă:
Coloana income este disponibilă doar în datele de antrenare (train.csv).
Analizează datele de antrenare (train.csv) și determină:
Care este țara de origine (native_country), alta decât United-States, cu cel mai mare număr de persoane care au venitul >50K?
Rezultatul trebuie să fie un string cu numele exact al țării, așa cum apare în date.
Analizează datele de antrenare (train.csv) și determină:
Care este ocupația (occupation) cu cea mai mare rată de venit >50K?
Rata de venit >50K pentru o ocupație se calculează ca: numărul de persoane cu venit >50K din acea ocupație, împărțit la numărul total de persoane din acea ocupație.
Rezultatul trebuie să fie un string cu numele exact al ocupației, așa cum apare în date.
Construiește un model de clasificare capabil să prezică valoarea coloanei income pentru toate observațiile din test.csv.
Modelul trebuie să producă una dintre cele două clase:
<=50K>50KColoana profile_description conține descrieri textuale ale profilurilor profesionale. Aplică o metodă de clustering pe această coloană pentru a grupa observațiile din test.csv în clustere.
Returnează pentru fiecare observație din test.csv eticheta clusterului (valoare numerică întreagă).
Subtask 1: Potrivire exactă cu răspunsul corect.
Subtask 2: Potrivire exactă cu răspunsul corect.
Subtask 3: Evaluarea se face folosind F1 Macro:
f1_macro ≥ 0.80 → 55 punctef1_macro < 0.60 → 0 puncteSubtask 4: Evaluarea se face folosind Adjusted Rand Index (ARI):
ARI ≥ 0.90 → 20 puncteARI ≤ 0.00 → 0 puncteFișierul de trimitere trebuie să fie în format CSV, cu următoarele coloane:
subtaskID – indexul subtask-uluidatapointID – identificator unic din setul de dateanswer – răspunsul sau predicțiaExemplu:
subtaskID,datapointID,answer
1,1,India
2,2,Sales
3,10001,<=50K
3,10002,>50K
4,10001,0
4,10002,2
Notă:
datapointID trebuie să fie 1, respectiv 2.datapointID trebuie să fie valoarea sampleid din test.csv.Adult / Census Income Dataset – UCI Machine Learning Repository