[PYTHON] Créez des projets d'apprentissage automatique à une vitesse explosive à l'aide de modèles

Créez-vous un projet d'apprentissage automatique avec une structure différente à chaque fois? Passez-vous du temps à vous demander quoi placer et où?

Bonne nouvelle pour ces personnes. Vous pouvez créer un projet d'apprentissage automatique avec ** une commande **. Vous pouvez créer un projet comme celui ci-dessous en quelques secondes.

** Structure du répertoire **

├── LICENSE
├── Makefile           <- Makefile with commands like `make data` or `make train`
├── README.md          <- The top-level README for developers using this project.
├── data
│   ├── external       <- Data from third party sources.
│   ├── interim        <- Intermediate data that has been transformed.
│   ├── processed      <- The final, canonical data sets for modeling.
│   └── raw            <- The original, immutable data dump.
│
├── docs               <- A default Sphinx project; see sphinx-doc.org for details
│
├── models             <- Trained and serialized models, model predictions, or model summaries
│
├── notebooks          <- Jupyter notebooks. Naming convention is a number (for ordering),
│                         the creator's initials, and a short `-` delimited description, e.g.
│                         `1.0-jqp-initial-data-exploration`.
│
├── references         <- Data dictionaries, manuals, and all other explanatory materials.
│
├── reports            <- Generated analysis as HTML, PDF, LaTeX, etc.
│   └── figures        <- Generated graphics and figures to be used in reporting
│
├── requirements.txt   <- The requirements file for reproducing the analysis environment, e.g.
│                         generated with `pip freeze > requirements.txt`
│
├── src                <- Source code for use in this project.
│   ├── __init__.py    <- Makes src a Python module
│   │
│   ├── data           <- Scripts to download or generate data
│   │   └── make_dataset.py
│   │
│   ├── features       <- Scripts to turn raw data into features for modeling
│   │   └── build_features.py
│   │
│   ├── models         <- Scripts to train models and then use trained models to make
│   │   │                 predictions
│   │   ├── predict_model.py
│   │   └── train_model.py
│   │
│   └── visualization  <- Scripts to create exploratory and results oriented visualizations
│       └── visualize.py
│
└── tox.ini            <- tox file with settings for running tox; see tox.testrun.org

Il y a plusieurs avantages à utiliser une telle structure de projet standard. Les nouvelles personnes peuvent rejoindre rapidement car elles savent où et où. De plus, pour moi, lorsque j'examine le projet quelques mois plus tard, je n'ai pas à me soucier de savoir où et ce qui est, donc je peux travailler rapidement.

Ce type de structure de projet est aussi simple à créer que lors de la création d'un projet Django ou Rails. Cet article vous montrera comment faire cela.

Getting started Tout d'abord, installez ** Cookiecutter **, qui est une bibliothèque pour créer une structure de répertoires. Après cela, je vais réellement faire un projet.

Installation de Cookiecutter

Parlons d'abord de Cookiecutter.

Cookiecutter est une ** bibliothèque Python pour créer des projets à partir de modèles de projet **. Vous pouvez facilement créer un projet à partir d'un modèle de projet existant à l'aide de Cookiecutter. Cette fois, nous utiliserons un modèle pour l'apprentissage automatique, mais vous pouvez choisir le modèle en fonction du projet que vous souhaitez créer.

Vous pouvez installer Cookiecutter à l'aide de pip comme suit:

$ pip install cookiecutter

Une fois l'installation terminée, créons un projet.

Créer un projet

Appuyez sur la commande en utilisant le Cookiecutter que vous avez installé pour créer un nouveau projet. À ce moment-là, il est nécessaire de spécifier un modèle de projet existant comme argument de la commande. Cette fois, spécifiez Cookiecutter Data Science, qui est un modèle pour l'apprentissage automatique. Exécutons la commande suivante.

$ cookiecutter https://github.com/drivendata/cookiecutter-data-science

Après avoir exécuté la commande ci-dessus, il vous sera demandé le nom du projet et le nom du créateur, je vais donc répondre. Répondez à toutes les questions et vous avez un nouveau projet.

project_name [project_name]: machine-learning
repo_name [machine-learning]: 
author_name [Your name (or your organization/company/team)]: Hironsan
description [A short description of the project.]: Machine learning project
Select open_source_license:
1 - MIT
2 - BSD
3 - Not open source
Choose from 1, 2, 3 [1]: 1
s3_bucket [[OPTIONAL] your-bucket-for-syncing-data (do not include 's3://')]: 
Select python_interpreter:
1 - python
2 - python3
Choose from 1, 2 [1]: 2

en conclusion

La détermination de la structure du projet est une tâche étonnamment longue. Nous espérons que cet article vous sera utile pour créer votre projet.

Je tweet également des informations sur l'apprentissage automatique et le traitement du langage naturel dans mon compte, j'attends donc votre suivi. @Hironsan

References

Recommended Posts

Créez des projets d'apprentissage automatique à une vitesse explosive à l'aide de modèles
Implémentez l'API à une vitesse explosive en utilisant Django REST Framework
Essayez de résoudre le Sudoku à une vitesse explosive en utilisant Numpy
Créez un serveur Web API à une vitesse explosive en utilisant HUG
Essayez l'analyse de corrélation multivariée à l'aide du lasso graphique à une vitesse explosive
Développement d'applications à l'aide d'Azure Machine Learning
Les débutants en Python publient des applications Web à l'aide de l'apprentissage automatique [Partie 2] Introduction à Python explosif !!
Prévision du cours des actions à l'aide de l'apprentissage automatique (scikit-learn)
[Apprentissage automatique] Classification des sujets LDA à l'aide de scikit-learn
[Apprentissage automatique] Prédiction FX à l'aide de l'arbre de décision
[TPU] [Transformers] Faites du BERT à une vitesse explosive
[Apprentissage automatique] Apprentissage supervisé utilisant l'estimation de la densité du noyau
Prévision du cours des actions à l'aide de l'apprentissage automatique (édition de retour)
[Apprentissage automatique] Analyse de régression à l'aide de scicit learn
Apprentissage automatique
Comment créer des fichiers volumineux à haute vitesse
Astuces de fourniture de données utilisant deque dans l'apprentissage automatique
Modèle Python qui effectue une analyse des journaux à une vitesse explosive
J'ai essayé d'utiliser PyCaret à la vitesse la plus rapide
[Apprentissage automatique] Apprentissage supervisé utilisant l'estimation de la densité du noyau Partie 2
[Apprentissage automatique] Apprentissage supervisé utilisant l'estimation de la densité du noyau Partie 3
Essayez d'utiliser le bloc-notes Jupyter à partir d'Azure Machine Learning
[Apprentissage automatique] Extraire des mots similaires mécaniquement en utilisant WordNet
Raisonnement causal utilisant l'apprentissage automatique (organisation des méthodes de raisonnement causal)
Comment créer rapidement un environnement d'apprentissage automatique à l'aide de Jupyter Notebook avec UbuntuServer 16.04 LTS