Sfida: 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_.
Swipe to start coding
Ti viene fornito il dataset delle valutazioni di Star Wars memorizzato come DataFrame nella variabile df.
- Inizializza
param_gridcome un dizionario contenente il parametron_neighborscon i valori[3, 9, 18, 27]. - Crea un oggetto
GridSearchCVutilizzandoparam_gridcon una validazione incrociata a 4 fold, addestralo e memorizzalo nella variabilegrid_search. - Recupera il modello migliore da
grid_searche memorizzalo nella variabilebest_model. - Recupera il punteggio del modello migliore e memorizzalo nella variabile
best_score.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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?
Awesome!
Completion rate improved to 4.17
Sfida: 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_.
Swipe to start coding
Ti viene fornito il dataset delle valutazioni di Star Wars memorizzato come DataFrame nella variabile df.
- Inizializza
param_gridcome un dizionario contenente il parametron_neighborscon i valori[3, 9, 18, 27]. - Crea un oggetto
GridSearchCVutilizzandoparam_gridcon una validazione incrociata a 4 fold, addestralo e memorizzalo nella variabilegrid_search. - Recupera il modello migliore da
grid_searche memorizzalo nella variabilebest_model. - Recupera il punteggio del modello migliore e memorizzalo nella variabile
best_score.
Soluzione
Grazie per i tuoi commenti!
single