Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Scelta del Valore K Ottimale | Classificatore K-Nn
Classificazione con Python

bookSfida: Scelta del Valore K Ottimale

Come mostrato nei capitoli precedenti, le previsioni del modello possono variare a seconda del valore di k (il numero di vicini). Quando si costruisce un modello k-NN, è importante scegliere il valore di k che offre le migliori prestazioni.

Un approccio comune consiste nell'utilizzare la validazione incrociata per valutare le prestazioni del modello. È possibile eseguire un ciclo e calcolare i punteggi di validazione incrociata per una gamma di valori di k, quindi selezionare quello con il punteggio più alto. Questo è il metodo più utilizzato.

Per eseguire questa operazione, sklearn offre uno strumento pratico: la classe GridSearchCV.

Il parametro param_grid accetta un dizionario in cui le chiavi sono i nomi dei parametri e i valori sono elenchi di opzioni da provare. Ad esempio, per testare i valori da 1 a 99 per n_neighbors, si può scrivere:

param_grid = {'n_neighbors': range(1, 100)}

Chiamando il metodo .fit(X, y) sull'oggetto GridSearchCV, verrà effettuata una ricerca nella griglia dei parametri per trovare i parametri migliori e quindi riaddestrare il modello sull'intero dataset utilizzando tali parametri ottimali.

È possibile accedere al miglior punteggio tramite l'attributo .best_score_ ed effettuare previsioni con il modello ottimizzato utilizzando il metodo .predict(). Allo stesso modo, si può recuperare il miglior modello stesso tramite l'attributo .best_estimator_.

Compito

Swipe to start coding

Ti viene fornito il dataset delle valutazioni di Star Wars memorizzato come DataFrame nella variabile df.

  • Inizializza param_grid come un dizionario contenente il parametro n_neighbors con i valori [3, 9, 18, 27].
  • Crea un oggetto GridSearchCV utilizzando param_grid con una validazione incrociata a 4 fold, addestralo e memorizzalo nella variabile grid_search.
  • Recupera il modello migliore da grid_search e memorizzalo nella variabile best_model.
  • Recupera il punteggio del modello migliore e memorizzalo nella variabile best_score.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 7
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you show me an example of how to use GridSearchCV with k-NN?

How do I interpret the results from GridSearchCV?

What other parameters can I tune with GridSearchCV besides n_neighbors?

close

Awesome!

Completion rate improved to 4.17

bookSfida: Scelta del Valore K Ottimale

Scorri per mostrare il menu

Come mostrato nei capitoli precedenti, le previsioni del modello possono variare a seconda del valore di k (il numero di vicini). Quando si costruisce un modello k-NN, è importante scegliere il valore di k che offre le migliori prestazioni.

Un approccio comune consiste nell'utilizzare la validazione incrociata per valutare le prestazioni del modello. È possibile eseguire un ciclo e calcolare i punteggi di validazione incrociata per una gamma di valori di k, quindi selezionare quello con il punteggio più alto. Questo è il metodo più utilizzato.

Per eseguire questa operazione, sklearn offre uno strumento pratico: la classe GridSearchCV.

Il parametro param_grid accetta un dizionario in cui le chiavi sono i nomi dei parametri e i valori sono elenchi di opzioni da provare. Ad esempio, per testare i valori da 1 a 99 per n_neighbors, si può scrivere:

param_grid = {'n_neighbors': range(1, 100)}

Chiamando il metodo .fit(X, y) sull'oggetto GridSearchCV, verrà effettuata una ricerca nella griglia dei parametri per trovare i parametri migliori e quindi riaddestrare il modello sull'intero dataset utilizzando tali parametri ottimali.

È possibile accedere al miglior punteggio tramite l'attributo .best_score_ ed effettuare previsioni con il modello ottimizzato utilizzando il metodo .predict(). Allo stesso modo, si può recuperare il miglior modello stesso tramite l'attributo .best_estimator_.

Compito

Swipe to start coding

Ti viene fornito il dataset delle valutazioni di Star Wars memorizzato come DataFrame nella variabile df.

  • Inizializza param_grid come un dizionario contenente il parametro n_neighbors con i valori [3, 9, 18, 27].
  • Crea un oggetto GridSearchCV utilizzando param_grid con una validazione incrociata a 4 fold, addestralo e memorizzalo nella variabile grid_search.
  • Recupera il modello migliore da grid_search e memorizzalo nella variabile best_model.
  • Recupera il punteggio del modello migliore e memorizzalo nella variabile best_score.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 7
single

single

some-alt