Il tuo primo modello che impara dai dati: scikit-learn, regressione e classificazione.
Finora hai scritto regole esplicite: "se il voto è maggiore di 6, allora promosso". Il Machine Learning ribalta l'approccio: invece di scrivere le regole, mostri al computer tanti esempi (dati), e lui impara da solo il modo di prevedere l'output corretto per input mai visti prima.
# 1. Prepara i dati (X = input, y = output da prevedere) # 2. Dividi in training set e test set # 3. Scegli un modello e addestralo (.fit) # 4. Fai previsioni sul test set (.predict) # 5. Valuta quanto è bravo il modello
Prevede un valore numerico continuo trovando la retta (o superficie) che meglio si adatta ai dati. Esempio classico: prevedere il prezzo di una casa in base ai metri quadri.
Prevede a quale categoria appartiene un dato. Esempio: prevedere se uno studente sarà promosso o bocciato in base alle ore di studio.
Dividiamo sempre i dati in due parti: una per "insegnare" al modello (training), una tenuta nascosta per verificare se ha davvero imparato o solo memorizzato (test).
Per la classificazione si usa spesso l'accuratezza (% di previsioni corrette). Per la regressione si usano metriche come l'errore medio tra previsione e valore reale.
Un modello che "impara a memoria" i dati di training invece di generalizzare, e va molto peggio su dati nuovi. È il motivo principale per cui si usa sempre un test set separato.
Spunta ogni passaggio man mano che lo completi: sbloccherai l'attestato di questa guida al termine.
Esempio per il punto 1
import numpy as np X = np.array([[50], [70], [90], [110]]) # metri quadri y = np.array([150000, 200000, 260000, 310000]) # prezzo
Esempio per il punto 2
from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)
Esempio per il punto 3
from sklearn.linear_model import LinearRegression modello = LinearRegression() modello.fit(X_train, y_train)
Esempio per il punto 4
previsioni = modello.predict(X_test) print(previsioni) print(y_test)
Tocca ogni termine per vederne la definizione.
Crea un dataset con metri quadri e prezzo per 10 case. Dividi in train/test, addestra una LinearRegression e stampa le previsioni confrontandole con i valori reali.
Crea un dataset con ore di studio (X) e risultato (y: 0=bocciato, 1=promosso) per 12 studenti. Addestra una LogisticRegression e calcola l'accuratezza sul test set.
Questo codice valuta il modello usando gli stessi dati con cui è stato addestrato (X_train invece di X_test). Spiega perché questo dà un'impressione fuorviante delle prestazioni reali del modello.
Completa tutti i 5 passaggi della checklist per sbloccare il tuo attestato in PDF.