プロフェッショナルな AI プロジェクトのディレクトリ構成
data/、notebooks/、src/、models/、tests/ の構成と cookiecutter-data-science パターンを扱います。
「プロフェッショナルな AI プロジェクトのディレクトリ構成」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全4レッスンが含まれています。
構成が重要な理由
final.ipynb、final2.ipynb、really_final.ipynbという名前のノートブックを積み重ねるだけでは、AIプロジェクトはいずれ破綻します。一貫したディレクトリ構成にすると、プロジェクトが読みやすく、再現可能になり、共同作業もしやすくなります。
このレッスンでは、広く使われているCookiecutter Data Scienceの構成を扱います。
dataフォルダー
入力データが上書きされないように、処理段階ごとにデータを分けます。
data/raw/— 元の変更されないソースデータdata/processed/— クリーニング済みでモデルに利用できるデータdata/interim/— 中間的な変換結果
data/rawは読み取り専用として扱います。そこから他のすべてを常に再生成できるようにしてください。
rawデータを変更しない理由
クリーニングのバグによってデータの唯一のコピーが壊れると、プロジェクトは立ち行かなくなります。data/rawを変更せずに保てば、パイプラインを再実行することで、処理済みファイルをすべて再現できます。
処理済みの出力は使い捨てにできますが、rawデータは決して変更してはいけません。
notebooksフォルダー
notebooks/には、探索やレポート作成に使うノートブックを格納します。一般的な慣例として、処理段階の番号と作成者のイニシャルを付けます。たとえば 1.0-mk-eda.ipynb のようにします。
ノートブックは探索用です。再利用するロジックは src/ に移してください。
srcパッケージ
src/には、インポート可能なPythonコードを責務ごとに分けて格納します。
src/data/— データの読み込みと処理のスクリプトsrc/features/— 特徴量エンジニアリングsrc/models/— 学習と予測のコードsrc/visualization/— プロットとレポート
src/featuresとsrc/models
特徴量エンジニアリングとモデリングを別のモジュールに分けると、多くのメリットがあります。特徴量のコードを単体テストでき、複数のノートブックで再利用でき、データ準備を書き直さずにモデルを入れ替えられます。
from src.features.build_features import make_features
from src.models.train import train_model
X = make_features(df)
model = train_model(X, y)modelsフォルダー
models/には、学習済みのシリアライズ済みアーティファクト(例:model.pkl、model.joblib)を保存します。これらはソースコードではなく、出力です。
通常、大きなモデルファイルはGitに入れるべきではありません。代わりに、DVCやオブジェクトストレージで管理します(次のレッスンで扱います)。
reportsフォルダー
reports/には、人が読むために生成した出力を格納します。reports/figures/にはプロットを置き、プロジェクトのルートにはレポート文書を置きます。これらはコードから生成するため、再生成できます。
設定ファイルと環境ファイル
プロジェクトレベルのファイルを追加して、構成を整えます。
requirements.txtまたはenvironment.yml— 依存関係config.yaml— ハイパーパラメーターとパスREADME.md— プロジェクトの概要と実行方法.gitignore— Gitが無視する対象
完全な構成
これらをまとめると、整理されたAIプロジェクトは次のようになります。
project/
data/
raw/
interim/
processed/
notebooks/
src/
data/
features/
models/
visualization/
models/
reports/
figures/
config.yaml
requirements.txt
README.mdCookiecutterで構成を生成する
この構成を毎回手作業で作る必要はありません。cookiecutter-data-scienceテンプレートを使えば、1つのコマンドで構成全体をひな形として生成できます。
# pip install cookiecutter
# cookiecutter -c v1 https://github.com/drivendata/cookiecutter-data-science
# Answer a few prompts -> full project tree createdクイックチェック:rawデータはどこに置くか
データ提供元から元のCSVファイルをダウンロードしたとします。
振り返り:プロジェクト構成
プロフェッショナルなAIプロジェクトの構成を学びました。
data/raw(変更不可)と、処理段階ごとのdata/processed- 探索用の
notebooks/と、再利用可能なコード用のsrc/featuresおよびsrc/models - アーティファクト用の
models/と、出力用のreports/ - ルートに配置する設定ファイル、requirements、README、.gitignore
- 構成全体をすぐにひな形として生成するcookiecutter-data-science
次は、AIプロジェクトでGitを効果的に使う方法です。
よくある質問
「プロフェッショナルな AI プロジェクトのディレクトリ構成」レッスンは無料ですか?
はい。「プロフェッショナルな AI プロジェクトのディレクトリ構成」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn AI with Pythonコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn AI with Pythonコースには全4レッスンが含まれています。
「プロフェッショナルな AI プロジェクトのディレクトリ構成」で何を学びますか?
data/、notebooks/、src/、models/、tests/ の構成と cookiecutter-data-science パターンを扱います。 ブラウザで直接実行するハンズオンコードでLearn AI with Pythonを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Learn AI with Pythonを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLearn AI with Pythonは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「プロフェッショナルな AI プロジェクトのディレクトリ構成」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLearn AI with Pythonレッスンでコードを書いて実行できますか?
はい。すべてのLearn AI with Pythonレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- プロフェッショナルな AI プロジェクトのディレクトリ構成
- AI プロジェクトのための Git
- 再現性:シード、設定、環境
- Jupyter Notebook のベストプラクティス