|
|
Inxhinieri Kompjuterike dhe Softuerike Lënda: Machine Learning Profesor: Dr. Lule Ahmedi dhe MSc. Mërgim H. HOTI |
Ky projekt realizohet në kuadër të lëndës “Machine Learning” dhe fokusohet në analizën dhe përpunimin e të dhënave reale të energjisë elektrike në Kosovë.
Qëllimi kryesor është përgatitja e dataset-it për ndërtimin e modeleve të Machine Learning, përmes hapave të strukturuar si pastrimi, transformimi dhe analiza e të dhënave.
Projekti përfshin:
- para-procesimin e të dhënave
- analizën e variablave kryesorë
- krijimin e feature-ve të reja
- përgatitjen e dataset-it për modele parashikuese
Dataset-i i zgjedhur për këtë projekt është i lidhur me sistemin energjetik të Kosovës dhe përmban të dhëna reale kohore mbi prodhimin dhe ndikimin mjedisor të energjisë elektrike.
| Atributi | Detaji |
|---|---|
| Emri i Dataset-it | Electricity Data for Kosovo |
| Burimi | Electricity Maps |
| Përmbledhje | Dataset kohor (time series) që përmban të dhëna mbi prodhimin e energjisë, intensitetin e karbonit dhe përqindjen e energjisë së rinovueshme. |
Qëllimi final i këtij projekti është ndërtimi i modeleve të Machine Learning për:
- parashikimin e konsumit të energjisë
- parashikimin e carbon intensity
- analizimin e trendeve në kohë
- identifikimin e anomalive në sistemin energjetik
Në këtë fazë është realizuar përgatitja e dataset-it për analiza dhe modelim. Janë ndërmarrë hapa për pastrim, transformim dhe strukturim të të dhënave.
Rezultati përfundimtar është një dataset i pastër dhe i gatshëm për përdorim në Machine Learning.
U analizua struktura e dataset-it për të kuptuar tipin e secilës kolonë.
Rezultati: U identifikua që kolona Datetime (UTC) nuk ishte në format të duhur dhe kërkonte konvertim.
Për të mundësuar analizë kohore, kolona e datës dhe kohës u konvertua në format datetime.
python df['Datetime (UTC)'] = pd.to_datetime(df['Datetime (UTC)'])
- Funksioni pd.to_datetime() konverton të dhënat në format të standardizuar të kohës
- Ky hap është i domosdoshëm për operacione si resampling dhe analiza kohore
Rezultati: Dataset-i tani mund të përdoret për analiza time-series dhe grupime sipas kohës.
Për çdo kolonë u llogarit përqindja e vlerave mungese për të vendosur metodën e duhur të pastrimit.
- isnull().sum() tregon numrin e vlerave të mungura për çdo kolonë
- Llogaritja e përqindjes ndihmon në vendimmarrje për trajtim
Rezultati: U identifikuan kolona 'Data estimation method' me përqindje të lartë të vlerave mungese.
Ky hap siguron që dataset-i nuk përmban rreshta të përsëritur.
- duplicated() identifikon rreshtat që janë të njëjtë
- .sum() jep numrin total të tyre
Rezultati: U konfirmua se nuk ka duplicate.
Janë larguar kolonat që nuk kontribuojnë në analizë ose modelim.
df = df.drop(columns=[
'Data source',
'Data estimated',
'Data estimation method'
])
Këto kolona përmbajnë metadata që nuk përdoren në analizë.
Reduktohet kompleksiteti i dataset-it
Rezultati: Dataset-i u thjeshtua dhe u fokusua në variabla relevante.
Fokus në kolonat që lidhen me energjinë dhe ndikimin mjedisor.
important_cols = [
'Carbon intensity gCO₂eq/kWh (direct)',
'Carbon intensity gCO₂eq/kWh (Life cycle)',
'Carbon-free energy percentage (CFE%)',
'Renewable energy percentage (RE%)'
]
print(df[important_cols].describe())
- 'describe()' jep statistika bazike si mesatarja, minimumi dhe maksimumi.
- Ndihmon në kuptimin e shpërndarjes së të dhënave.
Rezultati: U fitua një pasqyrë e qartë mbi sjelljen e variablave kryesorë.
Të dhënat u grupuan në nivel ditor për analizë më të thjeshtë.
daily = df.resample('D', on='Datetime (UTC)').mean(numeric_only=True)
- resample('D') - grupizon të dhënat sipas ditëve
- mean() - llogarit mesataren për çdo ditë
Rezultati: U krijua një dataset i ri me vlera ditore, më i përshtatshëm për analizë dhe modelim.
Vizualizim i trendit të carbon intensity.
import matplotlib.pyplot as plt
daily['Carbon intensity gCO₂eq/kWh (direct)'].plot()
plt.title("Intensiteti ditor i karbonit")
plt.xlabel("Data")
plt.ylabel("gCO₂eq/kWh")
plt.show()
- Krijohet një grafik kohor (time series)
- Ndihmon në identifikimin e trendeve dhe anomalive
Rezultati: U identifikuan variacionet dhe trendet në kohë.
Krijimi i variablave të reja nga data dhe koha.
df['hour'] = df['Datetime (UTC)'].dt.hour df['day'] = df['Datetime (UTC)'].dt.day df['month'] = df['Datetime (UTC)'].dt.month df['weekday'] = df['Datetime (UTC)'].dt.weekday
- Nxirren komponentët e kohës nga kolona datetime
- Këto përdoren si input për modele Machine Learning
Rezultati: Dataset-i u pasurua me feature të rëndësishme për analizë të avancuar.
- Anjeza Sfishta
- Erza Merovci
- Fortesa Cena