Differences

This shows you the differences between two versions of the page.

Link to this comparison view

mps:proiect:proiect-1 [2020/10/19 09:48]
iulia.stanica [Livrabile]
mps:proiect:proiect-1 [2021/11/02 09:03] (current)
giorgiana.vlasceanu [Punctaj]
Line 1: Line 1:
 ====== Proiectul 1 ====== ====== Proiectul 1 ======
-**Nume proiect: Inferența pentru pacienții suspecți de COVID** 
  
-Cum pandemia de COVID-19 pune societatea într-o situație nouă și plină de încercări,​ ne dorim să aducem o contribuție în domeniul medical. De aceea, ne propunem să construim un sistem de inferență a șansei de infectare cu COVID a unui pacient utilizând informații medicale și demografice. ​+**Nume proiect: QResent**
  
-Primul proiect la Managementul proiectelor software se desfășoară în perioada laboratoarelor 2, 3, 4, 5, 6. Începutul laboratorului 7 este termenul limită pentru definitivat proiectul, moment în care va fi prezentat asistentului (18-25 noiembrie ​2020).+Prezența în cadrul activităților - curs, seminar, laborator, este o activitate recurentă în ce prezintă sistemul de învățământ. Ne propunem să construim o aplicație ce facilitează verificarea prezenței în cadrul orelor fizice și online și centralizarea într-un mod unitar al acestor prezențe.  
 + 
 +Primul proiect la Managementul proiectelor software se desfășoară în perioada laboratoarelor 2, 3, 4, 5, 6. Începutul laboratorului 7 este termenul limită pentru definitivat proiectul, moment în care va fi prezentat asistentului (18 octombrie ​26 noiembrie ​2021).
  
 ===== Întrebări și discuții ===== ===== Întrebări și discuții =====
  
-<note warning>​** Cerinţa proiectului poate suferi modificări minore până în data de duminică, ​25 octombrie. **</​note>​+<note warning>​** Cerinţa proiectului poate suferi modificări minore până în data de duminică, ​24 octombrie. **</​note>​
  
-Pentru întrebări sau nelămuriri legate de proiect, folosiți [[https://​curs.upb.ro/​mod/​forum/​view.php?​id=42153|forumul dedicat al proiectului]].+Pentru întrebări sau nelămuriri legate de proiect, folosiți [[https://​curs.upb.ro/2021/​mod/​forum/​view.php?​id=40373|forumul dedicat al proiectului]] sau [[https://​teams.microsoft.com/​l/​channel/​19%3a9529b5fede4441febd8878f8c6d16432%40thread.tacv2/​Proiect?​groupId=5af337ec-05da-411e-a4ed-b15784b85080&​tenantId=2d8cc8ba-8dda-4334-9e5c-fac2092e9bac|canalul de MS Teams dedicat ​proiectului ]].
  
 ===== Scopul proiectului ===== ===== Scopul proiectului =====
  
-Se dorește construirea ​unui sistem ​de inferență a șansei de infectare cu COVID. Pentru realizarea luise vor utiliza: +Se dorește construirea ​unei aplicații ce vine în sprijinul digitalizării sistemului ​de prezență în format fizicdar care să fie pretabil ​și pentru ​forma online. ​ 
-  * un set de date cu informații medicale ​și demografice ale unor pacienți testați pentru ​COVID +
-  * un model de invățare automată supravegheată utilizând setul de date+
  
-<​hidden>​ +Arhitectura ​soluției ​și tehnologiile folosite sunt la latitudinea studenților.
-Arhitectura ​sistemului ​și tehnologiile folosite sunt la latitudinea studenților. +
-</​hidden>​+
  
 ===== Descrierea proiectului ===== ===== Descrierea proiectului =====
  
-Inferența se va face pe un set de date ce conține informații despre pacienți, precum+Aplicația QResent trebuie să
-  * instituția de unde au fost colectate datele +  * Acomodeze utilizatori: ​ 
-  sex +     ​* **Administrator**: utilizator privilegiat care face managementul utilizatorilor și al aplicației.  
-  ​vârstă +     ​* **Profesor**:​ utilizator privilegiat care poate gestiona materia, genera coduri pentru prezență 
-  ​simptome declarate +     ​* **Student**: end-user, vizualizează majoritatea informațiilor 
-  ​dată debut simptome inițiale declarate +     ​Opțional: Aceștia pot fi utilizatori autentificați prin alte servicii Google sau Microsoft. ​
-  simptome raportate la internare +
-  ​dată internare +
-  diagnostic și semne de internare +
-  ​istoric de călătorie +
-  mijloace de transport folosite +
-  * confirmare contact cu o persoană infectată+
  
-Pentru antrenamentul modelului vostru, setul de date va conține și rezultatul unui test PCR+  * Permită o gamă de acțiuni întreprinse de profesor pentru a face setup-ul ​și gestiunea unei materii 
-  rezultat testare ​(pe baza acestui câmp se va determina eticheta ​de clasificare a observațiilor+    * Configurarea materieiinformații despre materie, cerințe minime de intrare în examen, bonusuri, orar etc.  
-  * dată rezultat testare+    Setarea intervalelor de activitate 
 +    * Generarea de statistici legate de numărul de cursanți activi, cursanți prezenți etc.  
 +    * Generarea de coduri QR pentru a verifica prezența:​ 
 +      * La începutul activității ​(contribuie la statistica cursanți prezenți) 
 +      * Aleator în cadrul activității(contribuie la statistica cursanți activi) 
 +        * În momente cheie, când dorește acesta să verifice studenții activi. 
 +      * La finalul activității (pentru contorizarea numărul de cursanți activi ​pe tot parcursul activității,​ contribui la statistica cursanți activi) 
 +    * Export al listei ​de prezență 
 +      * Cu informațiile studenților prezentate într-un mod unitar: de ex, sub șablon: NUME Prenume, grupă, utilizator LDAP (utilizator pentru platforma de curs) 
 +      * Istoric al prezenței: pentru fiecare cod generat de profesor, statusul intrării respective. ​ 
 +  * Permită studentului să: 
 +    * creeze un profil cu informațiile despre acesta: grupă, utilizator LDAP (utilizator pentru platforma de curs) etc. 
 +    * vizualizeze informațiile din cadrul materiei. 
 +    * să vizualizeze statisticile create de profesor legate de numărul de cursanți la curs sub formă de grafice.  
 +    * să scaneze codurile QR generate de profesor.
  
-===== Observații =====+**Scenariu de funcționare**:​ Profesorul generează în minutul 51 din cursul de 100 de minute un cod QR (share screen pentru online, sau proiector pentru offline), care este scanat de către studenți și astfel aceștia sunt introduși pe lista activă de prezență. Lista poate fi exportată de profesor la finalul activității
 +  
 +**Mențiune**. Se recomandă găsirea de variante care să contravină preluarea codurilor și prezența falsă. Se poate regenera codul la 30 de secunde, sau alte mecanisme care să ajute realizarea prezenței într-un mod corect. ​
  
-Despre datele primite: 
-  * generalizați și structurați cât mai bine datele astfel încât algoritmul va întoarce rezultate relevante pentru orice set de date de intrare nevăzut (numim nevăzut un set de date de intrare care respectă structura celui inițial, dar care conține observații medicale diferite de cele pe baza căruia s-a realizat antrenamentul) 
  
-  * toate datele de intrare vor fi codificate într-un format numeric folosind diferite tehnici pentru fiecare câmp găsit în fișierul de intrare; o codificare bună presupune posibilitatea de a ajunge la data inițială prin decodificarea datei codificate+===== Punctaj =====
  
-  * se vor considera doar două valori pentru eticheta de clasificarea a observațiilor: +Soluție software - 80p
-    * pozitiv (reprezentând faptul că pacientul a fost detectat pozitiv la testul PCR) +
-    * negativ (reprezentând faptul că pacientul a fost detectat negativ la testul PCR) +
-    * Hint: dacă se vor găsi și alte valori, este alegerea voastră cum le interpretați și cum le folosiți+
  
-  * există mutiple metode de evaluare precum: +  * 10p managementul utilizatorilor ​și al autentificării  
-    * utilizarea unor seturi de date disjuncte de antrenare ​și testare (se recomandă utilizarea acestei metode) +  5p crearea ​de profile ​pentru ​utilizatori ​ 
-      setul de date primit va fi împărțit în: +  5p configurarea materiilor ​ 
-        * date de învățare +  20p generarea ​de coduri QR + mecanism de antifraudă 
-          * date pentru ​antrenare - training_data +  10p generarea ​de statistici la nivelul interfeței 
-          date pentru validare și evaluare a antrenamentului - dev_training_data (acesta este un subset al training_data) +  10p managementul interfeței / layout-ului  
-        date de inferență/testare +  20p exportul listei ​de prezență în formatul menționat
-          date care nu vor fi folosite în etapa de antrenare astfel încât le putem considera date noi sau date nevăzute pentru modelul obținut - testing_data +
-    validarea încrucişată cu mai multe (h) sub-seturi ale datelor (de antrenament) +
-    * leave-one-out cross-validation +
-    * Hint: rezultatele evaluării antrenamentului și rezultatele inferenței (pe același set de date, adică dev_training_data) trebuie să fie similare. +
-    Hint: pentru obținerea unor subseturi corecte, trebuie să vă asigurați că raportul ​de distribuție al observațiilor cu rezultat pozitiv și cel al observațiilor cu rezultat negativ este relevant; adică un subset ​în care se găsesc doar observații cu rezultat negativ nu este corect; acest proces se numește echilibrare+
  
 +Documentație și livrabile - 20p
 +  * 10p livrabile de tip documentație
 +  * 10p aplicarea metodologiei asignate
  
-  * folosiți următoarele măsuri de performanță:​ +===== Bonus ===== 
-    * acuratețea +Se va acorda bonus de 10% pentru ​cea mai bună implementare. Cea mai bună implementare ​se va stabili prin vot în intervalul laboratorului ​în care se face prezentarea (fiecare echipă are dreptul ​la un vot și-l poate acorda ​doar unei alte echipe; ​pentru ​laboratoarele în care există ​un număr par de echipeva vota și asistentul ​de laborator).
-      * este numărul de exemple corect clasificate / numărul total de exemple +
-      * este opusul erorii +
-      * va fi calculată pe: +
-        * setul de validare +
-        * setul de testare +
-    * precizia +
-      * este numărul de exemple pozitive corect clasificate / numărul total de exemple clasificate ca pozitive +
-      * probabilitatea ca un exemplu clasificat pozitiv să fie relevant +
-      * TP / (TP + FP) +
-    * rapelul  +
-      * numărul de exemple pozitive corect clasificate / numărul total de exemple pozitive +
-      * probabilitatea ca un exemplu pozitiv să fie identificat corect de către clasificator +
-      * TP / (TP + FN) +
-    * scorul F1 +
-      * media armonică a preciziei și rapelului +
-    * matricea de confuzie +
-    * AUC +
- +
-Hint: Aceste măsuri vor fi folosite atât în etapa de antrenare cât și în etapa de de testare. +
- +
-  * determinați și tratați zgomotele sau valorile lipsă găsite în setul de date +
-    * Hint: Se pot folosi valori predefinite pe baza unor informații statistice existente sau pe baza unei motivații logice. +
- +
-  * distribuția datelor de antrenament și datelor de test trebuie să fie relevantă; de exemplu, rata de infectare cu COVID în realitate este de 5% +
-  * observațiile de antrenament trebuie să fie reprezentative ​pentru ​obesrvațiile de test; adică, atât în datele de test, cât și în datele de antrenare se vor găsi atât observații etichetate pozitiv, cât și negativ; raportul lor de distribuție rămâne la atitudinea voastră, dar trebuie motivată alegerea (vezi punctul anterior);​ +
-  * una din problemele ce pot apărea este Învățarea pe derost (overfitting):​ performanță bună pe datele de antrenament,​ dar foarte slabă pe datele de test; +
-  * unele date sunt irelevante pentru antrenament;​ una din opțiuni este să le eliminați din setul vostru; de gândit ce se întâmplă dacă primiți astfel de date la etapa de inferență +
- +
-Despre etapa de antrenament:​ +
-  O mare parte din operațiile pe date realizate ​în această etapă, ​se vor repeta/​utiliza și la etapa de inferență+
-  * citește datele +
-  * curăță, generalizează și mapează datele ​la o formă definită ​și așteptată de voi +
-    * aici (doar la antrenare) observații pot fi eliminate cu scopul de a oferi doar informații corecte/​relevante la antrenare +
-  * codifică datele într-o formă definită și așteptată de voi +
-    * aici (doar la antrenare) observații pot fi eliminate cu scopul de a oferi doar informații corecte/​relevante la antrenare +
-    * se va determina cea mai bună codificare ​pentru ​fiecare tip de informație primit +
-      * exemple de tipuri de codificare:​ +
-        * one-hot encoding +
-        * dummy encoding +
-        * effect encoding +
-        * categorical encoding +
-        * binary encoding +
-        * base n encoding +
-  * antrenează modelul ales și parametrizat cu datele codificate +
-  * salvează modelul +
-  * realizează inferența utilizând datele de validare +
-  * evaluează antrenamentul utilizând metodele de măsurare menționate +
- +
-Despre etapa de inferență:​ +
-  Această etapă este numită și etapa de testare. În general, ​există ​următoarea abordare: +
-  * citește datele +
-  * curăță, generalizează și mapează datele asemenea etapei ​de antrenare +
-    * nu se vor elimina observații din setul de date +
-  * codifică datele asemenea etapei de antrenare +
-    * nu se vor elimina observații din setul de date +
-  * încarcă modelul +
-  * realizează inferența utilizând:​ +
-    * datele de test +
-    * datele de validare +
-  * evaluează inferența utilizând măsurile menționate +
- +
-===== Cuvinte cheie ===== +
-  * tensorflow +
-  * linear regressions +
-  * logistic regression +
-  * keras +
-  * input layers +
-  * selu layers +
-  * activation layers +
-  * dense layers +
-  * dropout layers +
-  * sigmoid function +
-  * binary cross-entropy +
-  * adam optimizer +
-  * precision +
-  * recall +
-  * AUC +
-  * TPTN, FP, FN +
-  * binary classification +
-  * loss functions +
-  * fuzzy +
-  * fuzzy matching string +
-  * lemmatize +
-  * word2vec +
-  * spicy +
-  * numpy +
-  * pandas +
-  * categorical words +
-  * sklearn +
-  * metrics +
-  * classification report +
-  * slugify +
-  * fuzzy words mapping +
-  * fuzzywuzzy +
-  * jupyter +
-  * notebooks +
-  * kfold +
-  * outliers +
-  * pickle file +
-  * Hint: Vor fi adăugate ancore ​și mai târziu! +
- +
-===== Setul de date ===== +
-    - dați clic [[https://​drive.google.com/​file/​d/​1ReYNWgio53dIlhz0eNO5ibC60N-7EurF/​view?​usp=sharing|aici]].+
  
 ===== Livrabile ====== ===== Livrabile ======
Line 178: Line 75:
   - Demo al sistemului   - Demo al sistemului
   - Cod (pe Git)   - Cod (pe Git)
-  - subsetul de antrenament 
-  - subsetul de validare 
-  - subsetul de testare 
  
-Alte livrabile ​la latitudinea evaluatorilor: +Alte livrabile ​care sunt menționate în funcție de metodologia pe care o folosiți:
-  - prezentarea sistemului +
-  - meeting minutes (minimum 5)+
   - SDD   - SDD
-  - raport de testare ​(incluzand masuratorile de performanta mentionate mai sus)+  - raport de testare 
 +  - meeting minutes 
 + 
 +Metodologii utilizate:​ 
 +  * [[https://​docs.google.com/​document/​d/​1_cWObeADcmdQ_KYyZieaIa1WcnFZtGenOiTW-2owZG4/​edit?​usp=sharing | Iterative]] 
 +  * [[https://​docs.google.com/​document/​d/​1OqE6jefT1GI8I2tqnZz35PZj7itIh6WwNApbcc2rtD8/​edit?​usp=sharing | Prototyping]] 
 +  * [[https://​docs.google.com/​document/​d/​186F0xDPSXS0Qw0_XmQdNrUvqT9xnIyg5/​edit?​usp=sharing&​ouid=110540277356092030785&​rtpof=true&​sd=true | V-model]] 
 + 
  
mps/proiect/proiect-1.1603090120.txt.gz · Last modified: 2020/10/19 09:48 by iulia.stanica
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0