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.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Sfida
FacileIn 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
fitconta, per ogniX, il valoreypiù frequente e memorizza il risultato nella variabileself.mode
Ad esempio, per il seguente dataset:<strong>X</strong>A B A A B <strong>Y</strong>1 1 0 1 1 self.modedovrebbe contenere:{"A": 1, "B": 1}- Il metodo
predictriceve una lista diX_teste restituisce una lista della stessa lunghezza. Ogni valore nella lista restituita è il valoreyprevisto corrispondente aX, usandoself.modeappreso nella fasefit.
Ad esempio, seself.modecontiene{"A": 1, "B": 1}eX_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 previsteTutte le lezioni di Introduzione all’apprendimento automatico
2Panoramica sull’apprendimento automatico
Apprendimento supervisionatoApprendimento non supervisionatoEsercitati da solo: Compilatore Python online