Pak ditë më parë, unë dhe ekipi im "The Pioneers" fituam Smart India Hackathon 2022 të organizuar nga Ministria e Arsimit, Qeveria Indiane dhe AICTE. Më lejoni të bëj një hyrje të shkurtër në lidhje me deklaratën e problemit.

ID-ja e deklaratës së problemit:PK848

Deklarata e problemit: Rekomandim për aftësitë e së ardhmes

Ministria përkatëse: Ministria e Elektronikës dhe Teknologjisë së Informacionit

Kova e domenit: Automatizimi inteligjent

Përshkrimi i deklaratës së problemit: "Për shkak të ndryshimit të teknologjisë dhe kërkesës së saj për t'u punësuar në Indi dhe jashtë saj, duhet të ketë përmirësime të sugjeruara nga ekspertët për parashikimin e Parashikimit të Pranimit dhe Punëve në Inxhinieri dhe Teknologji / Menaxhim / Farmaci në lidhje me të tij/saj forca, mosha, vendndodhja dhe faktorë të ngjashëm të rëndësishëm. Ky nuk është një proces një herë dhe duhet të bëhet shpesh pasi tendencat në industri vazhdojnë të ndryshojnë. Trajtimi i këtij problemi do të sjellë ndryshimet e nevojshme që do të sillnin rininë aktuale dhe gjeneratat e ardhshme paralelisht me studentët e vendeve të tjera për sa i përket njohurive dhe aftësive në atë fushë”.

Unë drejtoja Departamentin Teknik në të cilin punova me shumë teknologji të ndryshme për të përfunduar këtë projekt. Ne e emërtuam aplikacionin tonë si “SkillItUp”. Në thelb, Roli im ishte si një Allrounder 🙃, ku përdora Shkencën time të të Dhënave, Mësimin e Makinerisë, Cloud Computing, Web -Zhvillimi i Backend, Administratori i Bazave të të Dhënave, Zhvillimi Flutter, Dokumentimi dhe Aftësi të tjera Programuese. Të punosh me këto teknologji shumë të ndryshme nuk është e lehtë sa duket.

Mjaft me hyrje, Tani le të fillojmë me Udhëtimin Teknik. Përpara se të hynim në hackathon, ne zhvilluam modelin bazë prototip për zgjidhjen tonë. Më poshtë janë specifikimet e tij teknike

Backend (Web-Server për API): Django

Frontend (Aplikacion celular): Flutter

Cloud (Hostimi dhe Administrimi): Amazon AWS

Baza e të dhënave: Postgre SQL (Amazon RDS)

Mësimi i makinerisë: Scikit-Learn dhe Tensorflow

Algoritmi kryesor që kam zhvilluar ishte Algoritmi i Rekomandimit të Aftësive Bazuar në Preferencat e Përdoruesit. Këtu i kemi bërë pyetje përdoruesve në lidhje me performancën e tij akademike, Interesat e tij teknike dhe preferencat e tjera për të parashikuar rolin më të mirë të mundshëm të punës në Departamentin e Teknologjisë së Informacionit për përdoruesin. Ky algoritëm mbeti Zemra e Projektit tim. Loja kryesore që luajtëm ishte rreth këtij algoritmi.

Algoritmet e klasifikimit janë përdorur për të zbatuar këtë veçori. Ne përdorëm algoritmin XGBoost në këtë veçori, i cili na dha saktësinë më të mirë prej rreth 97,5%. Ne gjithashtu testuam grupin e të dhënave për SVM, i cili dha saktësi prej 93%. Më poshtë është prodhimi përfundimtar i aplikacionit për këtë veçori.

Këtu, siç mund ta shihni, fokusi im kryesor mbeti në parashikimin e aftësive të TI-së. Për të vërtetuar mendimin tim, unë kisha bërë analiza mbi Setin e të dhënave të Bankës Botërore dhe gjeta se Sektori i IT-së është faktori më i kërkuar për aftësi që nga viti 2022.

Pra, kjo pikë na ndihmoi në vërtetimin e tipareve tona të mësipërme pikërisht përpara panelit të jurisë. Tani një gjë tjetër që shtuam si prototip në projektin tonë ishte Seksioni i Teknologjisë në Tendencë.

Në këtë seksion ne fshimë të dhëna nga Uebfaqja e drejtpërdrejtë e Stack Overflow dhe Github, të cilat siguruan të dhëna të analitikës së aftësive të IT. Ne thjesht i gërmuam ato të dhëna dhe i renditëm më tej sipas popullaritetit të renditur dhe më pas shfaqëm të gjitha të dhënat në ekranin tonë. Ne fshimë të dhëna për teknologjitë në tendencë dhe profesionet në trend gjithashtu.

Pra, me këtë prototip bazë ne hymë në konkursin Hackathon dhe filluam ndërveprimin me anëtarët e jurisë. Raundi i parë i mentorimit ishte mjaft i rëndë për ne. Siç e përmenda përpara se të isha një Inxhinier i Mësimit të Makinerisë dhe Backend-it, detyra kryesore për të trajtuar pyetjet e jurisë dhe për të zgjidhur problemin e dhënë ishte mbi mua. Në vetë raundin e parë, kuptova se gjyqtarët janë më të përqendruar në Learning Machine, sesa në frontend ose UI/UX të aplikacionit. Reagimet e raundit të parë ishin për të shtuar Parashikimi i Pranimit në Kolegj dhe Sugjerimi i Punës bazuar në vendndodhjen dhe moshën për të gjitha departamentet. Në fillim dukej një detyrë mjaft e rëndë pasi gjithçka duhet të jetë dinamike dhe të bëhet përmes automatizimit. Grupi i të dhënave duhet të ketë vlefshmëri të caktuara të cilat duhet të kontrollohen për integritetin e të dhënave që shtohen.

Kështu, fillova vetëm të shfletoj përreth dhe të mendoj për mënyrën më të mirë të mundshme për të zgjidhur problemin e dhënë. Kishim rreth 6 orë për të zgjidhur këto probleme të dhëna. Ne vendosëm t'i jepnim një prioritet Parashikimit të Pranimit pasi ishte më pak kompleks. Ne gjetëm një grup të dhënash në Kaggle të quajtur si “Të dhënat e ndërprerjes sipas kategorisë IIT-NIT». E ekzaminova këtë grup të dhënash dhe e gjeta të përsosur për të zgjidhur detyrën e dhënë. I klasifikova parametrat e kërkuar si Renditja e të gjithë Indisë, Kategoria e Kastës, Të gjitha Vajzat/Të përgjithshme, Vendndodhja dhe Emri i Programit. Ne vendosëm Algoritmin e Pemës së Vendimit këtu për të marrë rreth 75% saktësi.

Pas parashikimit të pranimit, detyrë tjetër ishte zhvillimi i sistemit të sugjerimit të roleve të punës bazuar në vendndodhjen dhe moshën për të gjitha departamentet. Këtu kemi përdorur edhe një herë grupin e të dhënave të Bankës Botërore për të zgjeruar aplikacionin tonë. Ne parashikonim sugjerime të ndryshme për rolet e punës në departament dhe unë zhvillova një mekanizëm për të marrë sugjerimin më të mirë të rolit të punës sipas vendit.

Ndërsa e përfunduam këtë, filloi Raundi i Dytë. Siç e përmenda, ne morëm rreth 75% saktësi në Parashikimin e Pranimit pas Raundit të Parë. Tani juria më sugjeroi të përmirësoja saktësinë e modelit për ta marrë atë mbi 85% dhe më pas ta bashkoja me Aplikacionin kryesor. Gjithashtu anëtarët e jurisë sugjeruan të provoni rrjetet nervore me teknika të mësimit të thellë.

Pra, tani filloi hackathon Real, dua të them Kohën e Natës. Në kohën e natës kishte shumë detyra për mua pasi e përmenda se isha një Full Stack si dhe Inxhinier Devops për këtë projekt. Kishte shumë presion mbi mua :). Më poshtë ishin detyrat që do të përmbushja nga ana ime në orët e ardhshme para raundit final:

Përmirësoni saktësinë e parashikimit të pranimit

Zgjedhja e veçorive në punët e bazuara në vendndodhje

Integrimi i rrjetit nervor

Hedhja e modeleve në backend

Zhvillimi i API-së së Backend-it

Vendosja dhe konfigurimi i AWS

Etj. Shumë të tjera dhe Veçanërisht BUGS!!!!

Huh!!

Pasi piva lëngun e mangos si pije energjike, fillova të merrem me problemet dhe u përpoqa të zgjidhja më së miri problemet e dhëna. Më poshtë janë zgjidhjet që kam arritur me sukses

Saktësia është përmirësuar në 89%

Integrim i suksesshëm API

Konfigurimi i duhur AWS

Zgjedhja e veçorive

Nuk isha aq i suksesshëm në vendosjen e rrjetit Neural në cloud për të qenë i sinqertë. Por unë mblodha të gjitha raportet dhe provat e koncepteve për projektin tonë dhe isha gati të përballesha me jurinë për raundin e fundit.

Fokusi im kryesor në raundin e fundit ishte të jepja prezantimin më të mirë me të gjitha provat si një kopje e shtypur për ta bërë tavolinën e punës të pastër dhe të përsosur për anëtarët e jurisë për të analizuar plotësisht projektin. Pas shumë diskutimesh dhe argumentesh dhe provash raundi final zgjati rreth 20-25 minuta dhe juria dukej mjaft e kënaqur nga përgjigjet e mia!!

Pra, këtu janë disa pamje përfundimtare të ekranit të treguara për të gjykuar si përmirësime të ardhshme:

Pas një ore në ceremoninë finale, ne u shpallëm fitues dhe asgjë nuk mund të krahasohet me ato ndjenja :)

Mjaft thamë tani, kështu që le ta përfundojmë.

Pra, në përgjithësi, përvoja ime ishte shumë e mirë gjatë punës me këto të gjitha teknologjitë e ndryshme dhe ndërveprimit me gjyqtarët dhe të ftuarit kryesorë gjatë hakatonit.

Faleminderit :)