Python機械学習/データサイエンスプロジェクトの構造


10

Python Machine Learningプロジェクトをどのように編成するべきかについての情報を探しています。Pythonの通常のプロジェクトにはCookiecutterがあり、R ProjectTemplateがあります。

これは現在のフォルダー構造ですが、Jupyter Notebookと実際のPythonコードを混在させているため、あまり明確ではないようです。

.
├── cache
├── data
├── my_module
├── logs
├── notebooks
├── scripts
├── snippets
└── tools

私はスクリプトフォルダーで作業していて、現在すべての関数をmy_moduleの下のファイルに追加していますが、データのロードエラー(相対パス/絶対パス)やその他の問題が発生します。

このトピックに関する適切なベストプラクティスや適切な例は、いくつかのKaggle競合ソリューションと、そのようなノートブックの最初にすべての機能が凝縮されたいくつかのノートブック以外には見つかりませんでした。


これが役立つかどうかを確認しください(個人的な経験はありません)。
Emre、

回答:


4

この開発分野にはまだベストプラクティスがあるとは思いませんが、cookiecutterに加えて、SciPy 2016カンファレンスのチュートリアルに興味深いアイデアがいくつかありました:http : //isaacslavitt.com/2016/07/20/データサイエンスはソフトウェアトーク/

個人的に、私はそれらを区別する本当に良い方法がなく、それらを分離しておく正当な理由がない限り、プロジェクト内のサブフォルダーの数を最小限に抑えるように努めています。悪い組織は、組織がないことと同じくらい悪いです。ベストプラクティスはユースケースに依存する可能性があると思います。すべてのプロジェクトに同じ量のボイラープレートが必要なわけではありません。


3

ワシントン大学は、と呼ばれる小規模な科学pythonプロジェクト(データサイエンスプロジェクトを含む)のプロジェクトテンプレートをリリースしましたshablona。それは多かれ少なかれあなたが探しているものですか?

https://github.com/uwescience/shablona

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.