CERCA
26-11-2023 15:28

Esercizi settimana 8

da consegnare entro: 10/12/2023

 

 

ESERCIZIO 1

Realizzare un programma che permetta all’utente di interagire con l’algoritmo di machine learning Find-S. Il problema è quello di decidere se aspettare o meno che si liberi un tavolo quando si va al ristorante sulla base dei seguenti attributi:

  • Alternativa: c’è un ristorante nei paraggi (vero, falso)
  • Bar: il ristorante ha un’area bar per l’attesa (vero, falso)
  • Giorno: giorno della settimana in cui si vuole andare al ristorante (vero se venerdì oppure sabato, falso diversamente)
  • Fame: siamo affamati (vero, falso)
  • Affollato: quante persone sono presenti nel ristorante (nessuno, qualcuno, pieno)
  • Prezzo: categoria di costo del ristorante ($, $$, $$$)
  • Pioggia: fuori sta piovendo (vero, falso)
  • Prenotazione: abbiamo prenotato (vero, falso)
  • Tipo: tipo di ristorante (italiano, francese, fast-food, thai)
  • Attesa stimata: stima del tempo di attesa (<10, 10-29, 30-60, >60)

La funzione obiettivo che deve essere imparata è la funzione Aspettiamo il cui output è di tipo vero/falso.

L’algoritmo deve lavorare sia con lettura da file che con inserimento dati dell’utente, opzione specificata da riga di comando. La fase di training deve leggere il training set da file specificato da riga di comando. Il file di training contiene una riga per ogni ipotesi di allenamento. Se l’inserimento dati avviene da tastiera, l’utente dovrà essere guidato all’inserimento delle ipotesi di allenamento.

Al termine della fase di training, l’algoritmo deve dare all’utente la possibilità di testare il modello appreso. Per ogni nuova ipotesi fornita da linea di comando, il programma deve mostrare il valore della funzione obiettivo Aspettiamo e l’utente deve indicare se il valore è corretto o meno. In base all’indicazione dell’utente, il programma deve acquisire la nuova ipotesi ed eventualmente ri-allenare il modello.

 

 

ESERCIZIO 2

Realizzare l'esercizio organizzando il codice in funzioni. Porre particolare attenzione all'usabilità del codice guidando gli inserimenti dell'utente e mostrando output ben descritti.

 

 

PROCEDI CON LA CONSEGNA DEGLI ESERCIZI