Sto addestrando un classificatore svm con convalida incrociata (stratifiedKfold) utilizzando le interfacce di scikits. Per ogni set di test (di k), ottengo un risultato di classificazione. Voglio avere una matrice di confusione con tutti i risultati. Scikits ha un'interfaccia a matrice di confusione: sklearn.metrics.confusion_matrix (y_true, y_pred) La mia domanda è come devo accumulare i valori y_true e y_pred. Sono matrici (numpy). Devo definire la dimensione degli array in base al mio parametro k-fold? E per ogni risultato dovrei aggiungere y_true e y-pred alla matrice ????matrice di confusione di scikits con convalida incrociata
5
A
risposta
2
È possibile utilizzare una matrice di confusione aggregata o calcolare una per ogni partizione CV e calcolare la media e la deviazione standard (o errore standard) per ciascun componente nella matrice come misura della variabilità.
Per il report di classificazione, il codice dovrebbe essere modificato per accettare gli input bidimensionali in modo da passare le previsioni per ciascuna partizione CV e quindi calcolare i punteggi medi e la deviazione standard per ogni classe.
Problemi correlati
- 1. convalida incrociata 10 volte
- 2. Convalida incrociata di un modello CART
- 3. C indirizzo matrice confusione
- 4. Come posso tracciare una matrice di confusione?
- 5. convalida incrociata + alberi decisionali in sklearn
- 6. SVM con convalida incrociata in R utilizzando l'accento circonflesso
- 7. Come personalizzare l'iteratore di convalida incrociata sklearn per indici?
- 8. libsvm - Accuratezza di convalida incrociata uguale al rapporto delle etichette
- 9. Valori mancanti nell'apprendimento automatico di Scikits
- 10. Stampare la matrice di confusione in R utilizzando ggplot
- 11. matrice di confusione con il numero di istanze classificati/erroneamente classificati su di esso (Python/Matplotlib)
- 12. Problema di sessione incrociata con Express 3
- 13. "Richiesta di origine incrociata bloccata" con oEmbed?
- 14. TensorFlow ha implementato la convalida incrociata per i suoi utenti?
- 15. Come leggere la matrice di confusione del classificatore in WEKA
- 16. Classificazione KNN in MATLAB - matrice di confusione e ROC?
- 17. Nozioni di base sulla correlazione incrociata normalizzata
- 18. LibSVM: opzione -wi (selezione peso) durante convalida incrociata e test
- 19. Convalida incrociata stratificata k-fold randomizzata in scikit-learn?
- 20. Convalida incrociata 10 * 10 volte in scikit-learn?
- 21. Pacchetto Caret: convalida incrociata stratificata nella funzione treno
- 22. Come interpretare la matrice di confusione di learnkit e il report di classificazione di scikit?
- 23. confusione di autenticazione api restful con oauth2
- 24. confusione con il tipo di Haskell inferenza
- 25. numpy: Come posso selezionare indici specifici in un array np per la convalida incrociata k-fold?
- 26. confusione di Lambda e numeri di chiesa confusione
- 27. R caret/Come convalida incrociata per il treno all'interno di lavori
- 28. Confusione con GL_MAX_TEXTURE_SIZE
- 29. come ottenere il tasso di errata classificazione in ogni piega della convalida incrociata?
- 30. Confusione di assegnazioni multiple
Ho una soluzione per questo problema. Per ogni iterazione (attraverso la mia k-fold) creo una "matrice di confusione" che aggiungo alla precedente. In questo modo ottengo un CN che contiene tutti i valori. Con numpy è facile costruire questa matrice cumulativa (cm + = cm) – user963386
Ma ho ancora il problema se voglio ottenere un rapporto accumulato su precisione/richiamo (classification_report). Ogni iterazione avrà un "y_true", y_pred. "Come ottengo un rapporto finale? – user963386
Durante la convalida incrociata, y_true sarà costante .Per y_pred, puoi seguire la stessa procedura come la matrice di confusione. Prendi previsioni complessive/totali –