Menu
CoddyTech

Valutare un modello

Fa parte della sezione Apprendimento supervisionato del percorso Machine Learning di Coddy. Lezione 4 di 58.

Un modello è valido? La sua accuratezza, la percentuale di righe di test indovinate correttamente, lo indica. Confrontala con un'ipotesi pigra:

Due barre di accuratezza su 50 prestiti di test: indovinando sempre che i pagamenti saranno puntuali si ottiene 0.78, il modello k-NN ottiene 0.88

Il 78% dei prestiti di questa biblioteca è stato restituito in tempo, quindi rispondere sempre in tempo dà un punteggio di 0.78. Questo è il valore di riferimento.

from sklearn.metrics import accuracy_score

pred = model.predict(X_test)
print(accuracy_score(y_test, pred))
print(model.score(X_test, y_test))
common = y_train.value_counts().index[0]
print((y_test == common).mean())

Questo stampa 0.88, 0.88, 0.78. score predice e conta in una sola chiamata; la baseline risponde sempre con l'etichetta di training più comune.

Un modello si guadagna il suo posto solo battendo la baseline.

challenge icon

Sfida

Facile

I sensori di un'apicoltrice monitorano 160 alveari in hives.csv; swarm indica se ciascun alveare ha sciamato. Un sensore può avvisarla? Il codice iniziale legge il nome di un sensore e adatta un modello usando solo quel sensore.

  1. Stampa la sua accuratezza sul test, arrotondata a 3 decimali.
  2. Stampa la baseline, indicando l'etichetta a cui risponde sempre.
  3. Stampa se il modello la supera.

Per un altro apiario e weight_change_kg:

Model on weight_change_kg: 0.775
Always "no": 0.7
Beats the baseline: yes

Provalo tu

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

# Una riga per ogni alveare: i dati dei suoi sensori e se ha sciamato
hives = pd.read_csv("hives.csv")
sensor = input()
X = hives[[sensor]]
y = hives["swarm"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
model = KNeighborsClassifier()
model.fit(X_train, y_train)

# Scrivi il tuo codice qui sotto
quiz iconMettiti alla prova

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

Tutte le lezioni di Apprendimento supervisionato

Esercitati da solo: Compilatore Python online