[PYTHON] Erstellen Sie maschinelle Lernprojekte mit explosiver Geschwindigkeit mithilfe von Vorlagen

Erstellen Sie jedes Mal ein maschinelles Lernprojekt mit einer anderen Struktur? Verbringen Sie Zeit damit, sich Gedanken darüber zu machen, was und wo platziert werden soll?

Gute Nachrichten für solche Leute. Sie können ein maschinelles Lernprojekt mit ** einem Befehl ** erstellen. Sie können in Sekunden ein Projekt wie das folgende erstellen.

** Verzeichnisaufbau **

├── 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

Die Verwendung einer solchen Standardprojektstruktur bietet mehrere Vorteile. Neue Leute können schnell beitreten, weil sie wissen, was wo ist. Wenn ich das Projekt einige Monate später überprüfe, muss ich mir keine Gedanken darüber machen, wo und was ist, damit ich schnell arbeiten kann.

Diese Art von Projektstruktur ist so einfach zu erstellen wie beim Erstellen eines Django- oder Rails-Projekts. Dieser Artikel zeigt Ihnen, wie das geht.

Getting started Installieren Sie zunächst ** Cookiecutter **, eine Bibliothek zum Erstellen einer Verzeichnisstruktur. Danach werde ich tatsächlich ein Projekt machen.

Cookiecutter installieren

Lassen Sie uns zuerst über Cookiecutter sprechen.

Cookiecutter ist eine ** Python-Bibliothek zum Erstellen von Projekten aus Projektvorlagen **. Mit Cookiecutter können Sie ganz einfach ein Projekt aus einer vorhandenen Projektvorlage erstellen. Dieses Mal verwenden wir eine Vorlage für maschinelles Lernen. Sie können die Vorlage jedoch entsprechend dem Projekt auswählen, das Sie erstellen möchten.

Sie können Cookiecutter mit pip wie folgt installieren:

$ pip install cookiecutter

Nachdem die Installation abgeschlossen ist, erstellen wir tatsächlich ein Projekt.

Ein Projekt erstellen

Drücken Sie den Befehl mit dem von Ihnen installierten Cookiecutter, um ein neues Projekt zu erstellen. Zu diesem Zeitpunkt muss eine vorhandene Projektvorlage als Argument des Befehls angegeben werden. Geben Sie diesmal Cookiecutter Data Science an, eine Vorlage für maschinelles Lernen. Lassen Sie uns den folgenden Befehl ausführen.

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

Nachdem Sie den obigen Befehl ausgeführt haben, werden Sie nach dem Projektnamen und dem Namen des Erstellers gefragt, sodass ich antworten werde. Beantworten Sie alle Fragen und Sie haben ein neues Projekt.

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

abschließend

Die Festlegung der Projektstruktur ist eine überraschend zeitaufwändige Aufgabe. Wir hoffen, dass Sie diesen Artikel beim Erstellen Ihres Projekts hilfreich finden.

Ich twittere auch Informationen über maschinelles Lernen und die Verarbeitung natürlicher Sprachen in meinem Konto und warte auf Ihr Follow-up. @Hironsan

References

Recommended Posts

Erstellen Sie maschinelle Lernprojekte mit explosiver Geschwindigkeit mithilfe von Vorlagen
Implementieren Sie die API mit explosiver Geschwindigkeit mithilfe des Django REST Framework
Versuchen Sie, Sudoku mit explosiver Geschwindigkeit mit Numpy zu lösen
Erstellen Sie mit hug einen Web-API-Server mit explosiver Geschwindigkeit
Versuchen Sie eine multivariate Korrelationsanalyse mit grafischem Lasso bei explosiver Geschwindigkeit
Anwendungsentwicklung mit Azure Machine Learning
Python-Anfänger veröffentlichen Web-Apps mit maschinellem Lernen [Teil 2] Einführung in explosives Python !!
Aktienkursprognose mit maschinellem Lernen (Scikit-Learn)
[Maschinelles Lernen] LDA-Themenklassifizierung mit Scikit-Learn
[Maschinelles Lernen] FX-Vorhersage unter Verwendung des Entscheidungsbaums
[TPU] [Transformatoren] Machen Sie BERT mit explosiver Geschwindigkeit
[Maschinelles Lernen] Überwachtes Lernen mithilfe der Kernel-Dichteschätzung
Aktienkursprognose mit maschinellem Lernen (Return Edition)
[Maschinelles Lernen] Regressionsanalyse mit Scicit Learn
Maschinelles Lernen
So erstellen Sie große Dateien mit hoher Geschwindigkeit
Datenversorgungstricks mit deque beim maschinellen Lernen
Python-Vorlage, die eine Protokollanalyse mit explosiver Geschwindigkeit durchführt
Ich habe versucht, PyCaret mit der schnellsten Geschwindigkeit zu verwenden
[Maschinelles Lernen] Überwachtes Lernen mithilfe der Kernel-Dichteschätzung Teil 2
[Maschinelles Lernen] Überwachtes Lernen mithilfe der Kernel-Dichteschätzung Teil 3
Versuchen Sie es mit dem Jupyter Notebook von Azure Machine Learning
[Maschinelles Lernen] Extrahieren Sie ähnliche Wörter mechanisch mit WordNet
Kausales Denken mit maschinellem Lernen (Organisation von Methoden des kausalen Denkens)
So erstellen Sie schnell eine maschinelle Lernumgebung mit Jupyter Notebook mit UbuntuServer 16.04 LTS