Qiita記事作成の練習もかねて、「Kaggleデータの分析コードをGitHubで管理するワークフロー」について、自分なりにまとめます。
🧱 前提
- 筆者はエンジニア経験が浅いため、誤解や理解不足があるかもしれません。温かい目で見てください。
- Kaggleでの分析コードをGitHubで管理するのは一般的な手法ですが、毎回忘れてしまうため備忘録として記録します。
- 特に、実行環境の情報を共有しないと再現できない・エラーになるケースがあるため、
conda
環境をGitHubで共有する流れを重点的に書きます。 -
git
の初期設定が済んでいる前提で進めます。
📁 1. ローカルリポジトリの作成
まずは作業フォルダを用意します。今回は例として ./workspace/
を使用します。
cd ./workspace
git init
🐍 2. conda環境の作成とエクスポート
# Python 3.10の仮想環境を作成
conda create -n kaggle_env python=3.10
# 環境を有効化
conda activate kaggle_env
# 必要なライブラリをインストール
conda install -c conda-forge::kaggle
# 環境をymlファイルに出力
conda env export > environment.yml
この environment.yml
をGitHubにアップしておけば、他の人が同じ環境を再現できます。
📦 3. Kaggle APIを使ったデータセットのダウンロード
🔐 APIキーの準備
- Kaggle にログイン
- 右上アイコン → Settings
- ページ下部の
API
セクション → Create New API Token -
kaggle.json
がダウンロードされるので、以下の場所に配置
mkdir -p ~/.kaggle
mv ~/Downloads/kaggle.json ~/.kaggle/
📥 データセットのダウンロード
今回は Titanic
コンペを例にします。
kaggle competitions download -c titanic
# Mac OS の方用
unzip titanic.zip
Kaggleの各データセットページで「Copy API command」から同様のコマンドが取得できます。
🙅 データセットはGitに含めない(.gitignore設定)
大きなファイルや公開が適さないものは .gitignore
に追加します。
.gitignore
の例:
# Pythonキャッシュ
__pycache__/
# Jupyter Notebookのチェックポイント
.ipynb_checkpoints/
# IDE設定
.vscode/
.idea/
# 環境ファイル・機密ファイル
.env
# Kaggleデータ
titanic.csv
titanic.zip
📘 README.md に最低限書くこと
- このリポジトリの環境再現手順:
conda env create -f environment.yml
conda activate kaggle_env
- Kaggle APIの設定方法(kaggle.json)
- データセットのダウンロードコマンド(例:
kaggle competitions download -c titanic
)
🚀 リモートリポジトリにPushする
git remote add origin https://github.com/your-name/your-repo.git
git branch -M main
git push -u origin main
※
-u
を付けておくと、次回以降はgit push
だけでOKになります。
✅ まとめ
- 環境の再現性を保つには
conda
+environment.yml
が便利 - データセットは
.gitignore
で除外する - READMEに「再現手順」を簡潔に書いておくだけで、他人にとってかなり優しいリポジトリになる
🔗 参考リンク
- Kaggle API 公式: https://github.com/Kaggle/kaggle-api
- Titanicコンペ: https://www.kaggle.com/c/titanic