Vai al contenuto

4.5.3.3 - Permutation test score

La cross-validazione non è l'unico modo di valutare le performance di un classificatore. In particolare, esiste anche il permutation test score, implementato in Scikit-Learn mediante la funzione permutation_test_score, che restituisce un valore rappresentante il p-value legato alla probabilità che le performance ottenute dal classificatore siano legate al caso.

In particolare, l'ipotesi nulla del test di permutazione è che il classificatore non sia in grado di sfruttare alcuna dipendenza statistica tra feature e label per ottenere una predizione corretta sui dati di validazione. Il test viene svolto calcolando \(n\) diverse permutazioni casuali dei dati, rimuovendo le dipendenze tra le feature e le label; l'output è la frazione di permutazioni per la quale il punteggio di cross-validazione medio ottenuto dal modello è maggiore del punteggio ottenuto dallo stesso usando i dati originari. In tal senso, per ottenere risultati significativi, spesso si sceglie \(n=100\), con \(k\) compreso tra \(3\) e \(10\).

Un valore basso del \(p\)-value fornisce la prova statistica che il dataset contiene una vera dipendenza tra le feature e le label, e che il classificatore è stato in grado di utilizzarla per ottenere buoni risultati. Un valore alto di \(p\)-value, invece, può essere causato da una mancanza di dipendenza tra le feature e le label, o perché il classificatore non è stato in grado di usare le dipendenze presenti nei dati.