[PYTHON] Essayez le livre «Introduction au développement d'applications de traitement du langage naturel en 15 étapes» - Chapitre 2 Étape 07 Mémo «Évaluation»

Contenu

Ceci est un mémo pour moi pendant que je lis Introduction aux applications de traitement du langage naturel en 15 étapes. Cette fois, au chapitre 2, étape 07, j'écrirai mes propres points.

Préparation

Aperçu des chapitres

07.1 Données d'entraînement et de test, et surentraînement et généralisation

Le surajustement du classificateur aux données d'entraînement dû à l'entraînement est appelé ** surapprentissage **.

Si le vecteur de caractéristiques inclus dans les données d'apprentissage peut être identifié à 100%, ce sera une surface d'identification fine afin que même le bruit qui peut être ignoré puisse être correctement identifié. Être capable de faire des prédictions stables pour des données autres que les données d'entraînement est appelé ** généralisation **.

Si les mêmes données sont utilisées pour la formation et l'évaluation, le système sur-appris sera hautement évalué, donc ** les données de test pour l'évaluation doivent être évaluées en utilisant quelque chose de différent des données de formation **. (Peu importe la qualité des données d'entraînement, cela n'a pas beaucoup de sens, et vous devez vous assurer que vous n'avez pas surentraîné.)

07.2 Index d'évaluation

article Contenu
Précision (taux de réponse correct) Rapport entre les données de test correctes et toutes les données de test
Précision Pourcentage de données de test correctes parmi les données de test prévues pour la classe cible
Rappel Pourcentage de prédictions correctes des données de test pour la classe cible
Valeur F Un index montrant l'équilibre entre précision et rappel

la mise en oeuvre

from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

accuracy_score(y_true, y_pred)
precision_score(y_true, y_pred)
recall_score(y_true, y_pred)
f1_score(y_true, y_pred, average='macro')

07.3 Précautions pour l'évaluation

article Contenu
Limite inférieure de précision La limite inférieure de précision est le cas de la prédiction sans deviner.
Nombre de classes de classification Le niveau de difficulté de la classification multi-classes étant naturellement plus élevé que celui de la classification à 2 classes, l'indice d'évaluation a des valeurs différentes selon l'application.
Type de données de test Lors de l'évaluation de différents systèmes les uns par rapport aux autres, les mêmes données de test doivent être utilisées.
Biais dans le nombre de données Il est souhaitable que les données de test incluent les données de chaque classe aussi uniformément que possible.

Recommended Posts

Essayez le livre «Introduction au développement d'applications de traitement du langage naturel en 15 étapes» - Chapitre 2 Étape 07 Mémo «Évaluation»
Essayez le livre «Introduction au développement d'applications de traitement du langage naturel en 15 étapes» - Chapitre 2 Étape 06 Mémo «Identifiant»
Essayez le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" - Chapitre 2 Étape 02 Mémo "Prétraitement"
Essayez le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" --Chapitre 4 Etape 14 Mémo "Recherche Hyper Paramètre"
Essayez le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" - Chapitre 4 Étape 15 Mémo "Collecte de données"
Essayez le livre «Introduction au développement d'applications de traitement du langage naturel en 15 étapes» - Chapitre 3 Étape 08 Mémo «Introduction aux réseaux de neurones»
Essayez le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" --Chapitre 2 Étape 05 Mémo "Conversion de quantité de fonctionnalités"
Essayez le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" - Chapitre 3 Étape 11 Mémo "Embeddings de mots"
Essayez le livre «Introduction au développement d'applications de traitement du langage naturel en 15 étapes» --Chapitre 3 Étape 13 Mémo «Réseaux de neurones récurrents»
Essayez le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" --Chapitre 3 Étape 09 Mémo "Identifier par Neural Network"
Essayez le livre «Introduction au développement d'applications de traitement du langage naturel en 15 étapes» --Chapitre 2 Étape 01 Mémo «Créer un agent de dialogue»
Essayez le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" --Chapitre 2 Étape 03 Mémo "Analyse morphologique et écriture écrite"
Essayons le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" --Chapitre 3 Étape 10 Mémo "Détails et amélioration du réseau neuronal"
Essayez le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" -Chapitre 1 Mémo "Connaissances préliminaires avant de commencer les exercices"
[WIP] Pré-traitement des notes dans le traitement du langage naturel
Résumé du début au chapitre 1 de l'introduction aux modèles de conception appris en langage Java
[Chapitre 6] Introduction à scicit-learn avec 100 coups de traitement du langage
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 4] Introduction à Python avec 100 coups de traitement du langage
[Réunion de changement d'emploi] Essayez de classer les entreprises en traitant le bouche-à-oreille en langage naturel avec word2vec
[Traitement du langage naturel] J'ai essayé de visualiser les sujets d'actualité cette semaine dans la communauté Slack
Analyse des émotions avec traitement du langage naturel! J'ai essayé de prédire l'évaluation à partir du texte de l'avis
[Traitement du langage naturel] J'ai essayé de visualiser les remarques de chaque membre de la communauté Slack
[Python] Essayez de classer les boutiques de ramen par traitement du langage naturel
Résumé du chapitre 2 de l'introduction aux modèles de conception appris en langage Java
Chapitre 4 Résumé de l'introduction aux modèles de conception appris en langage Java
Résumé du chapitre 3 de l'introduction aux modèles de conception appris en langage Java
[Introduction à RasPi4] Construction de l'environnement, système de traitement du langage naturel mecab, etc. .. .. ♪
100 traitements du langage naturel frappent le chapitre 4 Commentaire
100 Language Processing Knock Chapitre 1 en Python
Essayez Cython dans les plus brefs délais
Se préparer à démarrer le traitement du langage naturel
De l'introduction de l'API GoogleCloudPlatform Natural Language à son utilisation
J'ai essayé de résoudre 100 traitements linguistiques Knock version 2020 [Chapitre 3: Expressions régulières 25-29]
100 Knocking Natural Language Processing Chapitre 1 (Mouvement préparatoire)
Introduction à la vérification de l'efficacité Chapitre 1 écrit en Python
Mémo de produits pratique autour du traitement du langage naturel
Laissez l'API COTOHA faire les choses difficiles - Introduction à "apprendre en utilisant" le traitement du langage naturel -
J'ai essayé de résoudre la version 2020 de 100 problèmes de traitement du langage [Chapitre 3: Expressions régulières 20 à 24]
J'ai essayé de résoudre la version 2020 de 100 coups de traitement de langue [Chapitre 1: Mouvement préparatoire 00-04]
J'ai essayé de résoudre la version 2020 de 100 traitements linguistiques [Chapitre 1: Mouvement préparatoire 05-09]
La première intelligence artificielle. Je voulais essayer le traitement du langage naturel, donc je vais essayer l'analyse morphologique en utilisant MeCab avec python3.