[PYTHON] Introduction à la rédaction de notes d'apprentissage automatique

Aidemy 2020/9/23

introduction

Bonjour, c'est Yope! Je suis étudiant, mais je suis intéressé par le domaine de l'IA, donc j'étudie à l'école spécialisée en IA "Aidemy". Je voudrais partager les connaissances acquises ici avec vous, et je les ai résumées dans Qiita. Je suis très heureux que de nombreuses personnes aient lu l'article de synthèse précédent. Je vous remercie! Cette fois, j'écrirai des notes importantes sur l'introduction à l'apprentissage automatique.

Introduction à l'apprentissage automatique 1 Points clés

・ L'apprentissage automatique comprend __ «l'apprentissage avec l'enseignant», «l'apprentissage sans enseignant» et «l'apprentissage amélioré» __. ・ L'apprentissage enseigné est une méthode qui consiste à donner des données d'apprentissage et des données de réponse correcte (enseignant) et à réfléchir jusqu'à ce que la réponse soit correcte. Le plus souvent. -L'apprentissage non supervisé est une méthode dans laquelle seules les données d'apprentissage sont données et l'ordinateur lui-même trouve une régularité. ・ L'apprentissage intensifié est une méthode pour continuer à penser pour maximiser les bénéfices (récompenses) que les acteurs peuvent obtenir.

Introduction à l'apprentissage automatique 2 points clés

・ __ Procédure d'apprentissage supervisé __: Collecte des données → Nettoyage des données → Apprentissage → Vérifier avec les données de test → Mise en œuvre

・ __ Pratique d'apprentissage supervisé 1__: Méthode d'exclusion: les données sont divisées en données d'apprentissage et données de test. Utilisez la fonction train_test_split (). __X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = rapport des données de test, random_state = 0) __

・ __ Pratique d'apprentissage supervisé 2 __: k-Division Vérification croisée: divisez les données en k et utilisez l'une d'entre elles comme données de test. Les données de test sont modifiées à chaque fois et vérifiées un total de k fois pour calculer la performance moyenne. (S'il y a 20 données ex, 19 seront des données d'entraînement et 1 sera des données de test, et sera vérifiée 20 fois au total)

-__ Surapprentissage : état dans lequel la précision d'apprentissage est trop élevée pour être correctement abstraite et les données inconnues ne peuvent pas être traitées. - Décrochage : Un moyen d'éviter le surapprentissage. Ignorez les exceptions évidentes. - Apprentissage d'ensemble __: Améliorez la précision en entraînant plusieurs modèles et en faisant la moyenne des résultats.

Introduction à l'apprentissage automatique 3 points clés

-__ Matrice de confusion __: Un tableau utilisé pour évaluer la précision du modèle. Les résultats sont classés en __ «vrai positif», «faux positif», «vrai négatif» et «faux négatif» __. "Vrai ou faux" indique si la réponse est correcte et "Yin" indique la réponse du modèle. (Autrement dit, s'il s'agit d'un «faux positif», le modèle a répondu Vrai, mais la réponse était Faux.)

-Mise en œuvre de la matrice de confusion: Décrivez comme suit ("y_true" est donné [liste des réponses correctes], et "y_pred" est donné [liste des réponses du modèle])

from sklearn.metrics import confusion_matrix
#Définissez «bonne réponse» et «réponse» dans une liste(0 est positif, 1 est négatif)
y_true=[1,1,1,1,1,1]
y_pred=[1,1,1,0,0,0]

confmat = confusion_matrix(y_true, y_pred)
#[[0 0]   #[[Vrai positif Faux négatif]
# [3 3]]  # [Faux positif Vrai négatif]]

・ __ Taux de réponse correcte __: Pourcentage de toutes les réponses qui étaient «vraies». (Vrai positif + Vrai négatif / Globalement) ・ __ Taux de conformité / Précision : Le pourcentage de ceux qui ont répondu «positif» était «vrai». (Vrai positif / Vrai positif + Faux positif) - Taux de rappel : Le pourcentage de "soleil réel" qui était "vrai". (Vrai positif / Vrai positif + Faux négatif) - Valeur F __: Moyenne harmonisée de précision et de rappel (2 * précision * rappel / précision + rappel)

-Implémenter l'indice d'évaluation ci-dessus: Il calcule en important la fonction et en donnant respectivement "y_true" et "y_pred" comme arguments.

#precision_score: taux de correspondance, recall_score: rappel, f1_score: importation de la valeur F
from sklearn.metrics import precision_score,recall_score,f1_score

y_true=[0,0,1,1]
y_pred=[0,1,1,1]
#Sortie de valeur F
print("F1".format(f1_score(y_true,y_pred)))
# 0.666666

-__ courbe PR __: Un graphique dans lequel l'axe vertical est le taux de précision (précision) et l'axe horizontal est le taux de rappel (rappel). ・ __Le taux de conformité et le taux de rappel sont dans une relation de compromis __, et il est nécessaire de considérer lequel devrait être mis en évidence dans certains cas. Si vous n'êtes pas particulier à ce sujet, vous devez utiliser la valeur F ou le point où P et R correspondent sur la courbe PR (__break even point (BEP) __).

Recommended Posts

Introduction à la rédaction de notes d'apprentissage automatique
Introduction à l'apprentissage automatique
Une introduction à l'apprentissage automatique
Super introduction à l'apprentissage automatique
Présentation de la bibliothèque d'apprentissage automatique SHOGUN
Introduction à l'apprentissage automatique: fonctionnement du modèle
Une introduction à OpenCV pour l'apprentissage automatique
Une introduction à Python pour l'apprentissage automatique
[Python] Introduction facile à l'apprentissage automatique avec python (SVM)
[Super introduction à l'apprentissage automatique] Découvrez les didacticiels Pytorch
Une introduction à l'apprentissage automatique pour les développeurs de robots
[Super introduction à l'apprentissage automatique] Découvrez les didacticiels Pytorch
[Pour les débutants] Introduction à la vectorisation dans l'apprentissage automatique
[Mémorandum d'apprentissage] Introduction à vim
Introduction à l'écriture de Cython [Notes]
Introduction au Deep Learning ~ Règles d'apprentissage ~
Apprentissage par renforcement profond 1 Introduction au renforcement de l'apprentissage
Introduction au Deep Learning ~ Rétropropagation ~
Introduction à l'apprentissage automatique à partir de Simple Perceptron
Introduction à l'apprentissage automatique avec scikit-learn - De l'acquisition de données à l'optimisation des paramètres
Introduction à l'apprentissage en profondeur ~ Approximation des fonctions ~
Apprentissage automatique
Introduction à l'apprentissage profond ~ Préparation au codage ~
Apprentissage automatique pour apprendre avec Nogisaka 46 et Keyakizaka 46 Partie 1 Introduction
Introduction au Deep Learning ~ Dropout Edition ~
Introduction au Deep Learning ~ Propagation vers l'avant ~
Introduction à l'apprentissage profond ~ Expérience CNN ~
Comment collecter des données d'apprentissage automatique
Introduction aux bases de Python de l'apprentissage automatique (apprentissage non supervisé / analyse principale)
Avant l'introduction à l'apprentissage automatique. ~ Technologie requise pour l'apprentissage automatique autre que l'apprentissage automatique ~
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 10 Introduction à Cupy
[Introduction au style GAN] Apprentissage unique de l'animation avec votre propre machine ♬
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 9 Introduction à scikit-learn
[Note] Sites Web relatifs à l'IA / à l'apprentissage automatique / à python [mis à jour de temps en temps]
scikit-learn Comment utiliser le résumé (apprentissage automatique)
Enregistrez les étapes pour comprendre l'apprentissage automatique
J'ai installé Python 3.5.1 pour étudier l'apprentissage automatique
Introduction au Deep Learning ~ Pliage et mise en commun ~
Note récapitulative sur la programmation d'apprentissage automatique Python (Jupyter)
Comment profiter de Coursera / Machine Learning (semaine 10)
Introduction à Machine Learning-Hard Margin SVM Edition-
Introduction à TensorFlow - Explication des termes et concepts d'apprentissage automatique
Introduction à MQTT (Introduction)
Introduction à Scrapy (1)
Introduction à Scrapy (3)
[Introduction] Renforcer l'apprentissage
[Python] Note d'apprentissage 1
Introduction à Tkinter 1: Introduction
[Introduction à l'apprentissage automatique] Jusqu'à ce que vous exécutiez l'exemple de code avec chainer
Introduction à PyQt
Introduction à Scrapy (2)
[Linux] Introduction à Linux
Prenons la version gratuite "Introduction à Python pour l'apprentissage automatique" en ligne jusqu'au 27/04
Introduction à Scrapy (4)
Les débutants en Python publient des applications Web à l'aide de l'apprentissage automatique [Partie 2] Introduction à Python explosif !!
Introduction à discord.py (2)
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique