Menu
Coddy logo textTech

Cos'è un modello di ML

Lezione 3 di 19 del corso Introduzione all’apprendimento automatico di Coddy.

Un modello di machine learning mira a fare previsioni basate su dati storici. Per farlo in modo efficace, il modello deve comprendere le proprietà statistiche del dataset. Questa comprensione non può essere raggiunta semplicemente fornendo al modello un algoritmo o una funzione matematica che descriva la distribuzione dei dati.

Il modello deve invece apprendere queste proprietà tramite l'addestramento. Inoltre, ogni dataset ha proprietà statistiche uniche. Pertanto, è necessario addestrare un modello separato per ogni dataset distinto.

 

La fase di apprendimento è chiamata fitting o fit. Dopo che il modello ha appreso la distribuzione dei dati, possiamo fornirgli nuovi dati che non ha mai visto e prevederne l'output; questa fase è chiamata predicting o predict.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

challenge icon

Sfida

Facile

In questa sfida creeremo il modello di apprendimento automatico supervisionato più semplice. Questo modello non viene utilizzato in alcun modo nell'industria. Piuttosto, il suo scopo è dimostrare come sarebbe un vero modello di apprendimento automatico.

Crea un modello che restituisca il valore y più frequente per i corrispondenti valori X.

Istruzioni: 

  • Il metodo fit conta, per ogni X, il valore y più frequente e memorizza il risultato nella variabile self.mode
    Ad esempio, per il seguente dataset:

    <strong>X</strong>ABAAB
    <strong>Y</strong>11011

    self.mode dovrebbe contenere: {"A": 1, "B": 1}

  • Il metodo predict riceve una lista di X_test e restituisce una lista della stessa lunghezza. Ogni valore nella lista restituita è il valore y previsto corrispondente a X, usando self.mode appreso nella fase fit.
    Ad esempio, se self.mode contiene {"A": 1, "B": 1}  e X_train è ['A', 'B', 'C'], allora l'output dovrebbe essere: [1, 1, None]

Come superare i casi di test:

Crea una funzione chiamata train_and_predict che riceva le liste X_train, y_train e X_test. Seguirà i seguenti passaggi:

  • Apprendi usando il metodo fit con X_train e y_train 
  • prevedi le etichette di X_test
  • restituisci le etichette previste

Provalo tu

import numpy as np
np.set_printoptions(legacy='1.13')

class SimpleModel:
    def __init__(self):
        self.mode = {}

    def fit(self, X, y):
        # Scrivi il tuo codice qui
        

    def predict(self, X):
        # Scrivi il tuo codice qui

def train_and_predict(X_train, y_train, X_test):
    model = SimpleModel()
    # Addestra il modello con X_train e y_train
    
    # Predici le etichette di X_test
    
    # Restituisci le etichette previste

Tutte le lezioni di Introduzione all’apprendimento automatico

Esercitati da solo: Compilatore Python online