La soglia decisionale
Fa parte della sezione Apprendimento supervisionato del percorso Machine Learning di Coddy. Lezione 17 di 58.
predict dice sì quando la probabilità supera 0.5, la soglia. Uno schermo difettoso non rilevato può però costare più di un secondo controllo. Abbassa la soglia:
Un falso allarme è una schermata valida segnalata. Scegli la tua soglia usando un confronto:
proba = model.predict_proba(X_test)[:, 1]
flag = proba >= 0.3 # True: controlla questa schermataPiù è basso, più casi reali individua e più falsi allarmi genera; più è alto, il contrario. Le probabilità non cambiano mai, cambia solo la soglia.
Sceglilo in base a quanto costa ogni errore.
Sfida
MedioUna compagnia aerea riprenota i passeggeri che probabilmente perderanno la coincidenza prima ancora che atterrino. Il codice iniziale adatta un modello su connections.csv e legge una soglia.
- Ottieni le probabilità che i passeggeri di test perdano la coincidenza.
- Per 0.5, poi per la soglia, conta i passeggeri riprenotati, le coincidenze perse effettivamente intercettate (su tutte quelle perse) e le riprenotazioni non necessarie.
- Stampa una riga per ogni soglia.
Per un'altra compagnia aerea e 0.25:
Threshold 0.5: 9 rebooked, 7 of 15 misses caught, 2 needless rebookings
Threshold 0.25: 21 rebooked, 13 of 15 misses caught, 8 needless rebookingsProvalo tu
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# Una riga per passeggero: tempo di coincidenza e ritardo del volo in arrivo in minuti, cambio di terminal (1 o 0), bagagli registrati; missed è 1 o 0
trips = pd.read_csv("connections.csv")
features = ["layover_min", "delay_min", "terminal_change", "checked_bags"]
X_train, X_test, y_train, y_test = train_test_split(trips[features], trips["missed"], test_size=0.25, random_state=0)
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
threshold = float(input())
# Scrivi il tuo codice qui sotto
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Apprendimento supervisionato
1Il tuo primo modello
Imparare dagli esempiInsiemi di addestramento e testAdattare e prevedereValutare un modelloRiepilogo: Ordinatore di semi4Regressione logistica
Previsioni sì o noLa soglia decisionaleI pesi come evidenzePiù classiRiepilogo: filtro antispam2Vicini più prossimi
Come decide k-NNScegliere kConfini decisionaliNormalizzare le scale per i viciniRiepilogo: vicini del vino5Misurare i classificatori
La matrice di confusionePrecisione e richiamoIl punteggio F1Classi sbilanciateCurve ROCRiepilogo: test di screening8Convalida incrociata
Validazione K-foldConfronto equo tra modelliRicerca a grigliaRiepilogo: riparazioni di skateboard11Progetto: specie di pinguini
Incontra i pinguiniPrepara i datiScegli un modelloOttimizza il miglioreDistribuisci il modello3Regressione lineare
Prevedere numeriPiù caratteristicheMisurare gli erroriGrafici dei residuiRiepilogo: noleggio di biciclette6Alberi decisionali
Gli alberi fanno domandeLeggere un alberoProfondità dell’alberoImportanza delle caratteristicheRiepilogo: decisioni sui prestitiEsercitati da solo: Compilatore Python online