Skip to content

TheRoberto2512/Weather-Classification

Repository files navigation

Windows Anaconda scikit-learn Pandas Matplotlib NumPy Python

Weather Classifcation

Il progetto indaga l'applicazione di tecniche di machine learning per la classificazione delle condizioni meteorologiche utilizzando un dataset tabellare sintetico. Il dataset non rispecchia dati realistici, sono stati tutti generati sinteticamente includendo volutamente outliers e valori anomali. L'obiettivo principale è sviluppare un modello predittivo in grado di classificare con precisione diversi tipi di condizioni meteorologiche, quali sole, pioggia, neve e nuvolosità.

Per maggiori informazioni sul progetto è possibile consultare il report finale a questo link.

Installazione

Requisiti:

È necessario aver installato miniconda sul proprio dispositivo Windows. Tutte le librerie e i pacchetti necessari sono già configurati all'interno dell'ambiente conda fornito.
NOTA: Il progetto è stato pensato per essere eseguito sul sistema operativo Windows, non si garantisce il completo funzionamento su sistemi operativi differenti.

Istruzioni step-by-step:

  1. Scaricare i file dal repository GitHub tramite Git Clone o download diretto del file .zip;

  2. Aprire il terminale di Conda, spostarsi nella cartella contenente i file del progetto (basta anche solo WP_requirements.yml) e digitare il comando conda env create -f WP_requirements.yml. Questo creerà l'ambiente e darà inizio all'installazione di tutte le librerie necessarie per l'esecuzione del progetto.

  3. Una volta terminata l'installazione dell'ambiente e delle librerie è neccessario, qualora non lo si fosse già, dirigersi nella cartella contenente i file del progetto e attivare l'ambiente col comando conda activate WeatherProject.

  4. La procedura di installazione è completata, ora è possibile eseguire il progetto col comando python main.py, assicurandosi sempre di aver attivato l'ambiente WeatherProject e di trovarsi nella directory del progetto.

Struttura del progetto

Il progetto è stato organizzato in più file in base ai modelli e alle operazioni da effettuare:

Nome File Descrizione
WP_requirements.yml File per l'installazione dell'ambiente su Conda
main.py File principale da cui è possibile eseguire l'applicazione completa
Imports.py Contiene gli import più ricorrenti tra tutti gli altri file
AnalisiDataset.py Contiene le funzioni relative alle varie analisi del dataset
Shared_Utilities.py Contiene le funzioni condivise ricorrenti tra i vari file
Models.py Contiene le funzioni necessarie per l'esecuzione e i confronti tra modelli
DecisionTree.py Contiene le funzioni necessarie per l'esecuzione di modelli DecisionTree
NaiveBayes.py Contiene le funzioni necessarie per l'esecuzione di modelli NaiveBayes
SVM.py Contiene le funzioni necessarie per l'esecuzione di modelli SVM
CustomKNN.py Contiene le funzioni necessarie per l'esecuzione di modelli KNN custom
CustomEnsemble.py Contiene le funzioni necessarie per l'esecuzione di modelli Ensemble custom
Preprocessing.py Contiene tutte le varie funzioni di pre-processing del dataset

Librerie utilizzate

È stato utilizato python 3.10.4 e nell'ambiente Conda sono state installate le seguenti librerie:

Nome Libreria Versione Utilizzo
dython 0.6.7 Plot della matrice di correlazione completa
imbalanced-learn 0.12.3 Tecniche di Oversampling
matplotlib 3.5.2 Plot dei grafici dei risultati
numpy 1.21.5 Operazioni aritmetiche varie
pandas 1.4.4 Gestione del dataset come dataframe
scikit-learn 1.1.1 Per i modelli di machine learning
seaborn 0.13.2 Plot dei boxplot

Autori

About

Progetto finale del corso Machine Learning, A.A. 2023/2024, Università degli studi di Cagliari.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages