[PYTHON] Tout pour que les débutants puissent faire du machine learning

introduction

Cet article est un article qui me permet de faire de l'apprentissage automatique tout en faisant ce qui a été présenté comme des ** «connaissances nécessaires à l'apprentissage automatique» **, ce qui a été présenté comme un problème pour mon stagiaire en herbe. est. Ce n'est qu'en faisant tout cet article que vous pourrez devenir ** apprenti ingénieur en apprentissage automatique **. Au contraire, vous pouvez facilement obtenir les bases de l'apprentissage automatique en faisant tout cet article.

Ce n'est pas un commentaire parfait car il inclut la personnalité.

Environnement de développement

Avant de dire quoi que ce soit, commençons par mon environnement de développement. OS · Les fenêtres -Sous-système Windows pour Linux (il peut également être exécuté sur Ubuntu) IDE Pycharm

De quoi les débutants ont-ils besoin pour faire du machine learning?

Ci-dessous, je listerai les problématiques présentées par les candidats au stage. Ce sont des ** «choses nécessaires» **. J'expliquerai chacun d'eux plus tard, mais supprimons d'abord toute l'image.

** ① Capacité absolument nécessaire en tant qu'ingénieur ** Pour pouvoir l'utiliser en douceur. ・ Connaissance de base de python3 · Ligne de commande ・ Git

** ② Configuration ** Saisissez les éléments suivants: ・ Système Python ・ Pip ・ Pipenv ・ Indispensable pour l'efficacité sur les terminaux Ubuntu (ligne de commande) ・ Tmux · Autre ・ Notation Markdown (pour Qiita)

・ Travaux de débogage -Débogage avec Pycharm

** ③ Apprentissage automatique ** En tant que bibliothèque, saisissez les éléments suivants. ・ Scikit-learn ・ Numpy ・ Pandas ・ Matplotlib ・ Keras

** ④ livre ** Must ・ [Code lisible](https://www.amazon.co.jp/%E3%83%AA%E3%83%BC%E3%83%80%E3%83%96%E3%83%AB%E3 % 82% B3% E3% 83% BC% E3% 83% 89-% E2% 80% 95% E3% 82% 88% E3% 82% 8A% E8% 89% AF% E3% 81% 84% E3% 82% B3% E3% 83% BC% E3% 83% 89% E3% 82% 92% E6% 9B% B8% E3% 81% 8F% E3% 81% 9F% E3% 82% 81% E3% 81% AE% E3% 82% B7% E3% 83% B3% E3% 83% 97% E3% 83% AB% E3% 81% A7% E5% AE% 9F% E8% B7% B5% E7% 9A% 84% E3% 81% AA% E3% 83% 86% E3% 82% FA% E3% 83% 8B% E3% 83% 83% E3% 82% FA-Théorie-pratique-Boswell / dp / 4873115655) ・ [Essence de l'apprentissage automatique](https://www.amazon.co.jp/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE % E3% 82% A8% E3% 83% 83% E3% 82% BB% E3% 83% B3% E3% 82% B9-% E5% AE% 9F% E8% A3% 85% E3% 81% 97% E3% 81% AA% E3% 81% 8C% E3% 82% 89% E5% AD% A6% E3% 81% B6Python-% E3% 82% A2% E3% 83% AB% E3% 82% B4% E3 % 83% AA% E3% 82% BA% E3% 83% A0-Apprentissage automatique / dp / 4797393963) ・ [Apprentissage automatique à partir du travail](https://www.amazon.co.jp/%E4%BB%95%E4%BA%8B%E3%81%A7%E3%81%AF%E3%81% 98% E3% 82% 81% E3% 82% 8B% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92-% E6% 9C% 89% E8% B3% 80 -% E5% BA% B7% E9% A1% 95 / dp / 4873118255) ** Autres bons livres personnellement ** ・ [Mathématiques d'apprentissage facile pour comprendre l'apprentissage automatique](https://www.amazon.co.jp/%E3%82%84%E3%81%95%E3%81%97%E3% 81% 8F% E5% AD% A6% E3% 81% B6-% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92% E3% 82% 92% E7% 90 % 86% E8% A7% A3% E3% 81% 99% E3% 82% 8B% E3% 81% 9F% E3% 82% 81% E3% 81% AE% E6% 95% B0% E5% AD% A6 % E3% 81% AE% E3% 81% 8D% E3% 81% BB% E3% 82% 93-% E3% 82% A2% E3% 83% A4% E3% 83% 8E-% E3% 83% 9F % E3% 82% AA% E3% 81% A8% E4% B8% 80% E7% B7% 92% E3% 81% AB% E5% AD% A6% E3% 81% B6-% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92% E3% 81% AE% E7% 90% 86% E8% AB% 96% E3% 81% A8% E6% 95% B0% E5% AD% A6% E3% 80% 81% E5% AE% 9F% E8% A3% 85% E3% 81% BE% E3% 81% A7 / dp / 4839963525) ・ [Apprendre en évoluant avec Python! Nouveau manuel d'apprentissage en profondeur De l'apprentissage automatique de base à l'apprentissage en profondeur](https://www.amazon.co.jp/Python%E3%81%A7%E5%8B%95%E3 % 81% 8B% E3% 81% 97% E3% 81% A6% E5% AD% A6% E3% 81% B6-% E3% 81% 82% E3% 81% 9F% E3% 82% 89% E3% 81% 97% E3% 81% 84% E6% B7% B1% E5% B1% A4% E5% AD% A6% E7% BF% 92% E3% 81% AE% E6% 95% 99% E7% A7% 91% E6% 9B% B2-% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92% E3% 81% AE% E5% 9F% BA% E6% 9C% AC % E3% 81% 8B% E3% 82% 89% E6% B7% B1% E5% B1% A4% E5% AD% A6% E7% BF% 92% E3% 81% BE% E3% 81% A7-AI -TECHNOLOGIE / dp / 4798158577)

① Capacité absolument nécessaire en tant qu'ingénieur

・ Connaissance de base de python3 · Ligne de commande ・ Git

C'est comme si vous ne pouviez vraiment rien faire sans ces capacités. D'abord et avant tout, faisons ces trois choses. Progate a été recommandé par la destination en herbe. Il est possible de le faire gratuitement, et le fait que vous n'ayez pas à développer votre propre environnement est une première étape intéressante. J'ai moi-même tout fini en une journée, je pense donc pouvoir continuer sans difficulté. J'ai fait un tableau de référence rapide que j'utiliserai beaucoup plus tard en référence à Progate, alors veuillez l'utiliser. ・ Git Basic / Référence rapideTableau de référence basique / rapide de la ligne de commande

② Configuration

** Famille Python ** ・ Pip ・ Pipenv

Ce sont les outils pour obtenir les bibliothèques dont vous avez besoin en Python. En pratique, pip n'est utilisé que pour installer pipenv. Voir ci-dessous pour les pépins. ・ Tableau de référence rapide Pip Voir de bons articles écrits par d'autres sur pipenv. Cet article décrit la raison pour laquelle Pipenv est utilisé en présence d'Anaconda et de pyenv.

** Essentiel pour l'efficacité sur les terminaux Ubuntu (ligne de commande) ** ・ Tmux

tmux est un outil qui rationalise le développement. Il est possible d'opérer sur le même écran sans avoir à créer plusieurs fenêtres dans le terminal. J'ai fait référence au site Web suivant. ・ Si vous êtes un ingénieur d'infrastructure, maîtrisez-vous tmux! ??

** Autre ** ・ Notation Markdown (pour Qiita)

Au début, je pensais que cette "notation de démarque" était une notation de programme ou quelque chose du genre, mais c'est simplement une notation pratique pour le travail que je fais actuellement sous la forme continue d'écrire Qiita. Il y a tellement de façons d'agrandir les lettres et de créer des paragraphes. Si vous vous référez à l'article suivant, tout est organisé. ・ Liste de notation Qiita Markdown / Aide-mémoire

** Travaux de débogage ** -Débogage avec Pycharm

C'est aussi une question d'efficacité, mais ce ne devrait pas être seulement une question d'efficacité. Il existe des moyens utiles de déboguer Python. C'est "utiliser Pycharm". Les destinations en devenir m'ont obligé à comprendre et à maîtriser le contenu des articles suivants. ・ [Python pour les non-programmeurs] Bases du débogage avec PyCharm

③ Système d'apprentissage automatique

Il s'agit d'essayer de maîtriser la bibliothèque, pas la grammaire Python.

La chose importante dans l'apprentissage automatique est ** "Il suffit de savoir ce que vous pouvez faire" **.

Au début, j'ai passé beaucoup de temps à étudier chaque bibliothèque, mais je ne pense pas que ce soit nécessaire. Si vous comprenez et savez ce que vous pouvez faire, vous pouvez l'implémenter en regardant un livre dans une main ou quelque chose comme ** la feuille de triche de Qiita **. La mise en œuvre de la programmation n'est pas un examen. Tu peux faire ce que tu veux. Par conséquent, j'écris des articles tels que ** table de référence rapide **, y compris la signification de «pour moi».

Il y a beaucoup d'excellents articles de synthèse que je n'ai pas besoin d'expliquer, alors assurez-vous de les vérifier par vous-même. Le tutoriel officiel est tout, alors je vais le poster.

De mon point de vue, je regrette d'avoir pu tout faire en une semaine environ.

Vous devriez étudier dans l'ordre suivant. ①scikit-learn tutoriel officiel scikit-learn ②Numpy Tutoriel officiel Numpy Tout sur Numpy Complete Basics ③Pandas Tutoriel officiel Pandas ④Matplotlib Didacticiel officiel de Matplotlib ⑤Keras Keras Official (japonais)

Je le répète! L'important est ** "Si vous savez ce que vous pouvez faire, c'est OK!" **! !!

④ Réserver

Voici les livres que j'ai lus pour apprendre l'apprentissage automatique.

L'essence de l'apprentissage automatique

[Essence de l'apprentissage automatique](https://www.amazon.co.jp/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE% E3% 82% A8% E3% 83% 83% E3% 82% BB% E3% 83% B3% E3% 82% B9-% E5% AE% 9F% E8% A3% 85% E3% 81% 97% E3 % 81% AA% E3% 81% 8C% E3% 82% 89% E5% AD% A6% E3% 81% B6Python-% E3% 82% A2% E3% 83% AB% E3% 82% B4% E3% 83% AA% E3% 82% BA% E3% 83% A0-Apprentissage automatique / dp / 4797393963) Ce livre couvre les bases de Python, les histoires mathématiques nécessaires à l'apprentissage automatique, les calculs numériques à l'aide de Python et les algorithmes d'apprentissage automatique. Il semble que tout l'apprentissage automatique soit organisé comme aucun autre. Ceux qui ont étudié les mathématiques à l'université devraient lire le calcul numérique de Python.

L'apprentissage automatique pour commencer au travail

[L'apprentissage automatique commence au travail](https://www.amazon.co.jp/%E4%BB%95%E4%BA%8B%E3%81%A7%E3%81%AF%E3%81%98 % E3% 82% 81% E3% 82% 8B% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92-% E6% 9C% 89% E8% B3% 80- % E5% BA% B7% E9% A1% 95 / dp / 4873118255) Comme son nom l'indique, il vous donne une image d'entreprise. Même si vous n'étudiez que la théorie, vous ne savez pas à quoi elle peut servir. Je pense que ce sera un bon guide dans un tel cas. De plus, puisqu'il s'agit du deuxième livre à lire, il est préférable de le lire après avoir supprimé les bases. Cependant, il a également la nature d'un livre de synthèse, donc je pense qu'il est idéal pour examiner les méthodes d'apprentissage automatique.

Mathématiques d'apprentissage facile pour comprendre l'apprentissage automatique

[Mathématiques d'apprentissage facile pour comprendre l'apprentissage automatique](https://www.amazon.co.jp/%E3%82%84%E3%81%95%E3%81%97%E3%81] % 8F% E5% AD% A6% E3% 81% B6-% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92% E3% 82% 92% E7% 90% 86% E8% A7% A3% E3% 81% 99% E3% 82% 8B% E3% 81% 9F% E3% 82% 81% E3% 81% AE% E6% 95% B0% E5% AD% A6% E3% 81% AE% E3% 81% 8D% E3% 81% BB% E3% 82% 93-% E3% 82% A2% E3% 83% A4% E3% 83% 8E-% E3% 83% 9F% E3% 82% AA% E3% 81% A8% E4% B8% 80% E7% B7% 92% E3% 81% AB% E5% AD% A6% E3% 81% B6-% E6% A9% 9F% E6 % A2% B0% E5% AD% A6% E7% BF% 92% E3% 81% AE% E7% 90% 86% E8% AB% 96% E3% 81% A8% E6% 95% B0% E5% AD % A6% E3% 80% 81% E5% AE% 9F% E8% A3% 85% E3% 81% BE% E3% 81% A7 / dp / 4839963525) Grâce à ce livre, j'ai pu comprendre les connaissances mathématiques dans l'apprentissage automatique de base. Si vous trouvez l'essence de l'apprentissage automatique difficile, vous pouvez commencer maintenant.

Apprenez en évoluant avec Python! Nouveau manuel d'apprentissage en profondeur De l'apprentissage automatique de base à l'apprentissage en profondeur

[Apprendre en évoluant avec Python! Nouveau manuel d'apprentissage en profondeur De l'apprentissage automatique de base à l'apprentissage en profondeur](https://www.amazon.co.jp/Python%E3%81%A7%E5%8B%95%E3%] 81% 8B% E3% 81% 97% E3% 81% A6% E5% AD% A6% E3% 81% B6-% E3% 81% 82% E3% 81% 9F% E3% 82% 89% E3% 81 % 97% E3% 81% 84% E6% B7% B1% E5% B1% A4% E5% AD% A6% E7% BF% 92% E3% 81% AE% E6% 95% 99% E7% A7% 91 % E6% 9B% B8-% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92% E3% 81% AE% E5% 9F% BA% E6% 9C% AC% E3% 81% 8B% E3% 82% 89% E6% B7% B1% E5% B1% A4% E5% AD% A6% E7% BF% 92% E3% 81% BE% E3% 81% A7-AI- TECHNOLOGIE / dp / 4798158577) C'est le livre que j'ai principalement étudié. C'est un livre que j'ai reçu lorsque je suis allé au laboratoire pour consulter un professeur sur la façon d'apprendre l'intelligence artificielle. Tout l'apprentissage en profondeur est décrit (à part l'histoire théorique). Nous faisons tout, du développement de l'environnement à la mise en œuvre. Il est recommandé aux vrais débutants de faire d'abord ce livre, puis le livre ci-dessus. De plus, je suis en mesure de tout savoir sur les bibliothèques que j'ai mentionnées ci-dessus (telles que Numpy).

à la fin

J'ai mis tout ce que j'ai fait dans cet article. A partir de maintenant, j'aimerais entrer en contact avec les dernières technologies de l'intelligence artificielle en lisant l'article. Cela semble long, mais merci d'avoir lu.

Recommended Posts

Tout pour que les débutants puissent faire du machine learning
[Pour les débutants] Introduction à la vectorisation dans l'apprentissage automatique
Premiers pas pour les débutants en apprentissage automatique (IA)
Une introduction à OpenCV pour l'apprentissage automatique
Une introduction à l'apprentissage automatique pour les développeurs de robots
Ordre d'étude recommandé pour les débutants en apprentissage automatique / apprentissage en profondeur
[Pour les débutants] Que faire après l'installation d'Anaconda
Introduction à l'apprentissage automatique
Préparation au démarrage de «Python Machine Learning Programming» (pour macOS)
Ensemble de données pour l'apprentissage automatique
Prétraitement japonais pour l'apprentissage automatique
Flux d'apprentissage pour les débutants en Python
Une introduction à l'apprentissage automatique
Un débutant en apprentissage automatique a essayé la RBM
~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
Super introduction à l'apprentissage automatique
Utilisation d'icrawler plus simple pour la collecte de données d'apprentissage automatique
Pour ceux qui souhaitent démarrer l'apprentissage automatique avec TensorFlow2
Comment utiliser l'apprentissage automatique pour le travail? 03_Procédure de codage Python
Les débutants en apprentissage automatique tentent de contacter Naive Bayes (2) - Mise en œuvre
Les débutants en apprentissage automatique tentent de contacter Naive Bayes (1) - Théorie
Introduction à la rédaction de notes d'apprentissage automatique
[Apprentissage automatique Python] Recommandation d'utilisation de Spyder pour les débutants (à partir d'août 2020)
[Pour les débutants en informatique] Que faire lorsque la commande rev ne peut pas être utilisée avec Git Bash
Méthode Newton pour l'apprentissage automatique (de 1 variable à plusieurs variables)
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
Résumé de l'apprentissage automatique par les débutants de Python
Présentation de la bibliothèque d'apprentissage automatique SHOGUN
Informations sur les réunions d'apprentissage automatique pour HRTech
[Balisage recommandé pour l'apprentissage automatique # 4] Script d'apprentissage automatique ...?
[Apprentissage automatique] J'ai essayé de faire quelque chose comme passer des images
Comment collecter des données d'apprentissage automatique
Comment étudier pour le test G de Deep Learning Association (pour les débutants) [version 2020]
C'est pourquoi je pourrai rechercher de petites circonscriptions à partir de mon emplacement actuel
Explication d'approche pour que les débutants soient dans le top 1,5% (0,83732) dans Kaggle Titanic_3
Comment utiliser l'apprentissage automatique pour le travail? 02_Aperçu du projet de développement AI
Recherche de blogs techniques par machine learning en mettant l'accent sur la "facilité de compréhension"
Les débutants en Python publient des applications Web à l'aide de l'apprentissage automatique [Partie 2] Introduction à Python explosif !!
Explication d'approche pour que les débutants soient dans le top 1,5% (0,83732) dans Kaggle Titanic_1
Explication d'approche pour que les débutants soient dans le top 1,5% (0,83732) dans Kaggle Titanic_2
Les débutants en apprentissage automatique suivent le cours d'apprentissage en profondeur de Coursera
Introduction à l'apprentissage automatique: fonctionnement du modèle
Amplifiez les images pour l'apprentissage automatique avec Python
Enregistrez les étapes pour comprendre l'apprentissage automatique
J'ai installé Python 3.5.1 pour étudier l'apprentissage automatique
Pourquoi Python est choisi pour l'apprentissage automatique
Méthode d'encodage à chaud "utilisable" pour l'apprentissage automatique
[Shakyo] Rencontre avec Python pour l'apprentissage automatique
[Python] Conception d'applications Web pour l'apprentissage automatique
Support Vector Machine (pour les débutants) -Code Edition-
Les débutants lisent "Introduction à TensorFlow 2.0 pour les experts"
Comment profiter de Coursera / Machine Learning (semaine 10)
[Apprentissage en profondeur] Détection de visage Nogisaka ~ Pour les débutants ~
Créer un environnement de développement pour l'apprentissage automatique
Introduction au Deep Learning (1) --Chainer est expliqué d'une manière facile à comprendre pour les débutants-
Apprentissage automatique
J'ai essayé d'implémenter diverses méthodes d'apprentissage automatique (modèle de prédiction) en utilisant scicit-learn