precisión multiclase metricas matriz logit confusión confusion binaria machine-learning nlp scikit-learn svm confusion-matrix

machine-learning - multiclase - matriz de confusion precision



¿Cómo interpretar la matriz de confusión de aprendizaje de scikit y el informe de clasificación? (3)

Tengo una tarea de análisis de sentimiento, para esto estoy usando este corpus las opiniones tienen 5 clases ( very neg , neg , neu , pos , very pos ), de 1 a 5. Por lo tanto, hago la clasificación de la siguiente manera:

from sklearn.feature_extraction.text import TfidfVectorizer import numpy as np tfidf_vect= TfidfVectorizer(use_idf=True, smooth_idf=True, sublinear_tf=False, ngram_range=(2,2)) from sklearn.cross_validation import train_test_split, cross_val_score import pandas as pd df = pd.read_csv(''/corpus.csv'', header=0, sep='','', names=[''id'', ''content'', ''label'']) X = tfidf_vect.fit_transform(df[''content''].values) y = df[''label''].values from sklearn import cross_validation X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.33) from sklearn.svm import SVC svm_1 = SVC(kernel=''linear'') svm_1.fit(X, y) svm_1_prediction = svm_1.predict(X_test)

Luego, con las métricas obtuve la siguiente matriz de confusión y el informe de clasificación, de la siguiente manera:

print ''/nClasification report:/n'', classification_report(y_test, svm_1_prediction) print ''/nConfussion matrix:/n'',confusion_matrix(y_test, svm_1_prediction)

Entonces, este es el resultado:

Clasification report: precision recall f1-score support 1 1.00 0.76 0.86 71 2 1.00 0.84 0.91 43 3 1.00 0.74 0.85 89 4 0.98 0.95 0.96 288 5 0.87 1.00 0.93 367 avg / total 0.94 0.93 0.93 858 Confussion matrix: [[ 54 0 0 0 17] [ 0 36 0 1 6] [ 0 0 66 5 18] [ 0 0 0 273 15] [ 0 0 0 0 367]]

¿Cómo puedo interpretar la matriz de confusión y el informe de clasificación anteriores? Intenté leer la documentación y esta pregunta . ¿Pero aún se puede interpretar qué pasó aquí particularmente con estos datos ?. ¿Esta matriz es de alguna manera "diagonal" ?. Por otro lado, ¿qué significa la recuperación, precisión, f1score y soporte para estos datos ?. ¿Qué puedo decir sobre estos datos? Gracias de antemano chicos


El informe de clasificación debe ser sencillo: un informe de P / R / F-Measure para cada elemento en sus datos de prueba. En los problemas de Multiclass, no es una buena idea leer Precisión / Retirada y F-Medir sobre los datos completos, cualquier desequilibrio le haría sentir que ha alcanzado mejores resultados. Ahí es donde esos informes ayudan.

Llegando a la matriz de confusión, es una representación muy detallada de lo que está sucediendo con tus etiquetas. Entonces, hubo 71 puntos en la primera clase (etiqueta 0). De estos, su modelo fue exitoso al identificar 54 de esos correctamente en la etiqueta 0, pero 17 fueron marcados como etiqueta 4. De manera similar, observe la segunda fila. Hubo 43 puntos en la clase 1, pero 36 de ellos fueron marcados correctamente. Su clasificador predijo 1 en clase 3 y 6 en clase 4.

Ahora puedes ver el patrón que sigue. Un clasificador ideal con 100% de precisión produciría una matriz diagonal pura que tendría todos los puntos previstos en su clase correcta.

Viene a llamar / Precisión. Son algunas de las medidas más utilizadas para evaluar qué tan bueno funciona su sistema. Ahora tenía 71 puntos en primera clase (llámalo clase 0). De ellos, su clasificador pudo obtener 54 elementos correctamente. Ese es tu recuerdo. 54/71 = 0.76. Ahora mira solo la primera columna en la tabla. Hay una celda con la entrada 54, el resto son todos ceros. Esto significa que su clasificador marcó 54 puntos en la clase 0, y los 54 de ellos en realidad estaban en la clase 0. Esto es precisión. 54/54 = 1. Observe la columna marcada 4. En esta columna, hay elementos dispersos en las cinco filas. 367 de ellos fueron marcados correctamente. Descansar todos son incorrectos. Entonces eso reduce tu precisión.

F Measure es el promedio armónico de Precision and Recall. Asegúrate de leer detalles sobre estos. https://en.wikipedia.org/wiki/Precision_and_recall



Confusion Matrix nos dice acerca de la distribución de nuestros valores predichos en todos los resultados reales. Puntuaciones de precisión, recuperación (sensibilidad), precisión, especificidad y otras métricas similares son subconjuntos de la matriz de confusión. Los puntajes de F1 son los medios armónicos de precisión y recuperación. Las columnas de ayuda en Classification_report nos informan sobre los recuentos reales de cada clase en los datos de prueba. Bueno, el descanso se explica arriba maravillosamente. Gracias.