# Applicazioni pratiche di machine learning/Previsioni sugli incendi

Applicazioni pratiche di machine learning
Copertina Tutti i moduli · Sviluppo
* Applicazioni pratiche di machine learningApplicazioni pratiche di machine learning
** Previsioni su scommesse sportiveApplicazioni pratiche di machine learning/Previsioni su scommesse sportive
** Previsioni su azioni, criptovalute, derivatiApplicazioni pratiche di machine learning/Previsioni su azioni, criptovalute, derivati
** Trovare lavoroApplicazioni pratiche di machine learning/Trovare lavoro
** Previsioni sul cambiamento climaticoApplicazioni pratiche di machine learning/Previsioni sul cambiamento climatico
** Previsioni sul livello del mareApplicazioni pratiche di machine learning/Previsioni sul livello del mare
** Previsioni sulle produzioni agricoleApplicazioni pratiche di machine learning/Previsioni sulle produzioni agricole
** Riconoscimento della scrittura a manoApplicazioni pratiche di machine learning/Riconoscimento della scrittura a mano
** Previsioni sugli incendiApplicazioni pratiche di machine learning/Previsioni sugli incendi
** Diagnosi di malattieApplicazioni pratiche di machine learning/Diagnosi di malattie
** Diagnosi di malattie mentaliApplicazioni pratiche di machine learning/Diagnosi di malattie mentali
** Identificazione delle pulsarApplicazioni pratiche di machine learning/Identificazione delle pulsar
** Identificazione dei social botApplicazioni pratiche di machine learning/Identificazione dei social bot
** Approvazione carte di creditoApplicazioni pratiche di machine learning/Approvazione carte di credito
** Previsione di reatiApplicazioni pratiche di machine learning/Previsione di reati
** Concessione sussidiApplicazioni pratiche di machine learning/Concessione sussidi
** Previsione di vendite futureApplicazioni pratiche di machine learning/Previsione di vendite future
** Segmentazione dei clientiApplicazioni pratiche di machine learning/Segmentazione dei clienti
** Previsioni su direct mailApplicazioni pratiche di machine learning/Previsioni su direct mail
* Appendice
** Installazione di RApplicazioni pratiche di machine learning/Installazione di R
** Creare reports in RStudioApplicazioni pratiche di machine learning/Creare reports in RStudio
** Creare reports in JupyterApplicazioni pratiche di machine learning/Creare reports in Jupyter
** ChatGpt come data analyst o data scientistApplicazioni pratiche di machine learning/ChatGpt come data analyst o data scientist
Modifica il sommario

## Parte 1: Dati

Il dataset "forestfires.csv", scaricabile da qui: https://archive.ics.uci.edu/ml/datasets/forest+fires è costituito da 513 righe e 13 variabili e contiene i dati sugli incendi boschivi provenienti dal parco naturale Montesinho, dal Trás-os-Montes regione nord-orientale del Portogallo . Le 13 variabili in questione del dataset sono le seguenti :
* X - Coordinata spaziale dell'asse X all'interno della mappa del parco Montesinho con valori compresi tra 1 e 9
* Y - Coordinata spaziale dell'asse Y all'interno della mappa del parco Montesinho con valori compresi tra 2 e 9
* month - mese dell'anno: da "gen" a "dec"
* day - giorno della settimana: da "mon" a "sun"
* FFMC - Indice FFMC del sistema FWI: 18.7 a 96.20
* DMC - Indice DMC del sistema FWI: da 1.1 a 291.3
* DC - Indice DC del sistema FWI: da 7,9 a 860,6
* ISI - Indice ISI del sistema FWI: da 0,0 a 56,10
* temp - temperatura in gradi Celsius: da 2,2 a 33,30
* RH - umidità relativa in %: da 15,0 a 100
* wind - velocità del vento in km/h: da 0.40 a 9.40
* rain - pioggia esterna in mm/m^2: da 0,0 a 6,4
* area - l'area bruciata della foresta (in ha-ettari): da 0,00 a 1090,84 (questa variabile di output è molto proiettata verso lo 0, quindi potrebbe avere senso modellare con la trasformazione del logaritmo log(X+1)).
Il Forest Fire Weather Index (FWI) è il sistema canadese per la classificazione del pericolo di incendio e comprende sei componenti : FFMC rappresenta il contenuto di umidità dei rifiuti di superficie e influenza l'accensione e la propagazione del fuoco, DMC e DC rappresentano il contenuto di umidità degli strati organici superficiali e profondi che influenzano l'intensità del fuoco. L'ISI è un punteggio correlato alla diffusione della velocità del fuoco.
Caricamento dei dati:
Ricerca valori mancanti:
Ricerca valori anomali o outliers:
Dal grafico si vede che ci sono almeno 3 outliers relativi ad un'area superiore a 250 ettari, ma comunque non è necessario cancellarli.

## Parte 2: Domanda di ricerca

Si vuole prevedere l'area bruciata in ettari dagli incendi boschivi. Tale conoscenza è particolarmente utile per la gestione delle risorse antincendio e quindi per definire gli obiettivi prioritari delle autobotti e degli equipaggiamenti di terra (pianificazione delle risorse).

## Parte 3: Esplorazione dei dati

Come si vede dal seguente grafico la maggiorparte degli incendi avviene nei mesi di agosto e settembre, mentre a novembre e gennaio non ce ne sono.
Creo una nuova variabile per poter valutare il tipo di danno:
Come si vede dal seguente grafico i danni alti o molto elevati avvengono nei mesi di luglio, agosto e settembre.

## Parte 4: Modellizzazione e previsione

Per creare un modello previsionale si utilizza la libreria "H2o" che consente con la sua funzione autoML di selezionare automaticamente l'algoritmo di machine learning migliore, cioè quello nel caso specifico che da un più basso valore dell'errore previsionale RMSE.
Si divide il dataset df in un training set fatto dal 75% delle prime osservazioni e su cui si addestra il modello ed il rimanente 25% costituisce il testing set su cui verrà testato il modello :
Si addestra il modello:
Di seguito in ordine i migliori algoritmi selezionati da H2o, tra cui il primo è GBM_lr_annealing_selection_AutoML_3_20221029_184630_select_model :
L'errore previsionale RMSE dell'algoritmo di Boosting selezionato sul testing set è pari a 73,14 ettari...
RMSE_test= 73.13926

## Parte 5: Previsioni in Python

Le colonne numeriche e categoriche nel dataset che hanno valori mancanti NA vengono trasformate con valori approssimativi nei NA tramite SimpleImputer, mentre le variabili categoriche vengono trasformate in numeriche tramite OneHotEncoder :
Per la previsione utilizzo l'algoritmo RandomForest e addestro il modello sul training set dopo avere preprocessato i dati con il preprocessor precedentemente creato. Infine prevedo i dati sul validation set.
Sul validation set ottengo un errore previsionale RMSE di 79.08 ettari... in R ho ottenuto il risultato migliore pari a 73,14 ettari...