Estoy entrenando un clasificador svm con validación cruzada (stratifiedKfold) usando las interfaces scikits. Para cada conjunto de pruebas (de k), obtengo un resultado de clasificación. Quiero tener una matriz de confusión con todos los resultados. Scikits tiene una interfaz de matriz de confusión: sklearn.metrics.confusion_matrix (y_true, y_pred) Mi pregunta es cómo debo acumular los valores y_true y y_pred. Son arreglos (numpy). ¿Debo definir el tamaño de las matrices en función de mi parámetro k-fold? Y para cada resultado debo agregar el y_true y el y-pred a la matriz ????matriz de confusión scikits con validación cruzada
5
A
Respuesta
2
Puede usar una matriz de confusión agregada o calcular una para cada partición de CV y calcular la media y la desviación estándar (o error estándar) para cada componente en la matriz como una medida de la variabilidad.
Para el informe de clasificación, el código tendría que modificarse para aceptar 2 entradas dimensionales para pasar las predicciones para cada partición de CV y luego calcular las puntuaciones medias y la desviación estándar para cada clase.
Cuestiones relacionadas
- 1. validación cruzada 10 veces
- 2. validación cruzada en I
- 3. Generar conjuntos para la validación cruzada
- 4. estratificado 10 veces la validación cruzada
- 5. Ayuda Comprensión de validación cruzada y árboles de decisión
- 6. Confusión en matriz multidimensional en Java
- 7. compilación cruzada con gyp
- 8. Compilación cruzada con SBCL
- 9. Compilación cruzada con GHC
- 10. 10 * 10 veces la validación cruzada en scikit-learn?
- 11. Compilación cruzada PHP con UCLIBC
- 12. Confusión con NULL en C#
- 13. Entity Framework Validación de confusión - longitud máxima de cadena de '128'
- 14. matriz int con punteros en confusión de asignación de memoria C
- 15. Confusión con el algoritmo de FFT
- 16. Confusión de cookies con FormsAuthentication.SetAuthCookie() Método
- 17. Confusión con el tipo de inferencia Haskell
- 18. LibSVM: opción -wi (selección de peso) durante la validación cruzada y prueba
- 19. libsvm - Precisión de validación cruzada igual que la proporción de etiquetas
- 20. desarrollo de plataforma cruzada
- 21. Cómo dividir/particionar un conjunto de datos en conjuntos de datos de entrenamiento y prueba para, por ejemplo, validación cruzada?
- 22. Conceptos básicos de la correlación cruzada normalizada
- 23. dynamic_cast confusión
- 24. Ack with regex - Confusión con consultas simples
- 25. confusión con respecto a la pereza
- 26. C dirección de gama confusión
- 27. validación del modelo de CakePHP con arreglo
- 28. Amigos confusión
- 29. Bitmap.LockBits confusión
- 30. Tupla == Confusión
Tengo una solución para este problema. Para cada iteración (a través de mi k-fold) creo una "matriz de confusión" que agrego a la anterior. De esta manera obtengo un CN que contiene todos los valores. Con numpy es fácil construir esta matriz acumulativa (cm + = cm) – user963386
Pero todavía tengo el problema si quiero obtener un informe acumulado sobre precisión/recuperación (classification_report). Cada iteración tendrá un "y_true", y_pred ". ¿Cómo puedo obtener un informe final? – user963386
A lo largo de la validación cruzada, y_true será constante. Para y_pred, puede seguir el mismo procedimiento como matriz de confusión. Tomar predicciones agregadas/totales. –