Community画像github.com

FrankS-IntelLab/agentic-kaggle-skill

Kaggleファーストのエンドツーエンドコンペティションワークフロー。CodexがKaggleや競争的MLワークフローをスコア付きサブミッションで実行する必要がある場合に使用します。コードコンペティション、バリデーション、メトリクス、ポリシーセーフな公開ノートブック/ディスカッション情報、表形式/テキスト/画像モデリング、チューニング、アンサンブル/スタッキング、プロアクティブなマルチノートブックアーキテクチャ、モデルを学習してプライベートKaggleアーティファクトデータセットをエクスポートするプロデューサーノートブック、下流のコンシューマーノートブック、Kaggle GPUオフロード、kagglehubアクセスをサポートします。

agentic-kaggle-skill とは?

このスキルは、Kaggleコンペティションに特化したエンドツーエンドのワークフローを提供します。主な目的は、すべてのコンペティションをまずバリデーション問題として扱い、その後にモデリング問題として扱うことです。Kaggleをデフォルトのプラットフォームと想定し、Kaggleネイティブのノートブック、スクリプト、データセット、モデルアーティファクト、コンペティションサブミッション、スコアレシートを優先的に使用します。このスキルは、コードコンペティションとファイルサブミッションの両方に対応しており、バリデーション戦略、メトリクスの再現、アンサンブル/スタッキング、Kaggle GPUへの計算オフロード、複数のノートブックからなるパイプライン構築など、一連のステップを体系的に進めます。これにより、Kaggleのスコアリングが試行され、結果が収集されるか、具体的な障害が文書化されるまで、計画やローカルバリデーションで止まることなく、確実に成果を出すことを目指します。

対応~Claude Code✓Codex CLI~Cursor✓Antigravity
npx skills add FrankS-IntelLab/agentic-kaggle-skill

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Agentic Kaggle Skill

オペレーティングループ

すべてのコンペティションを、まずバリデーション問題として、次にモデリング問題として扱います。デフォルトのターゲットプラットフォームはKaggleであるため、Kaggleネイティブのノートブック/スクリプト、データセット、モデルアーティファクト、コンペティションサブミッション、スコアレシートを優先的に使用します。コードコンペティションの場合、コンペティションのドキュメントでそうでないことが証明されない限り、最終的なノートブック/カーネルはKaggleによって非公開データに対して再実行されることを想定します。

  1. コンペティションページを読み、サブミッションモードをクラシックファイルサブミッションまたはコード/ノートブックスコアリングに分類し、ルール、データ使用条件、共有ポリシー、データ辞書、メトリクス、サブミッションフォーマット、トレイン/テストの構築に関するヒント、リーク警告を確認します。
  2. ライブコンペティション情報ツールが利用可能な場合は、主要なアーキテクチャの選択の前に、トップの公開ノートブックソリューションと関連するディスカッションアクティビティを調査します。それらを権威ではなく手がかりとして扱います。
  3. タスクタイプを特定します:バイナリ、マルチクラス、マルチラベル、回帰、ランキング、画像、セグメンテーション、テキスト、時系列、グループ化されたエンティティ、またはハイブリッド。
  4. 特徴量エンジニアリングやモデリングの前にフォールドを設計します。すべての実験が同じ比較サーフェスを使用するように、トレーニングデータに保存されたフォールド列を優先します。
  5. 最もシンプルなメトリクス正しいベースラインを構築し、アウトオブフォールド(OOF)予測と有効なサブミッションを生成します。
  6. ベースラインが信頼できるものになったら、積極的により強力なアーキテクチャを計画します:多様なモデルファミリー、特徴量/埋め込みプロデューサー、オーグメンテーション/疑似ラベリング/蒸留ステージ、キャリブレーション/後処理、アンサンブルまたはスタッカー。
  7. バリデーションゲートで反復します:可能な場合は一度に1つの意味のある変更をテストしますが、多様なアーティファクトを作成し、OOFスコアまたはアンサンブルの多様性で比較できる場合は、複数の独立したプロデューサーノートブックを並行して起動します。
  8. ローカルコンピュートがメモリ不足になったり時間がかかりすぎる可能性がある場合は、重いトレーニング、推論、埋め込み生成、画像/テキスト実験、またはメモリリスクの高いジョブをKaggleノートブック/スクリプトにオフロードします。
  9. 高度なアーキテクチャの場合、ワークを小さなKaggleパイプラインに分割します:最初に複数の独立したプロデューサーノートブック/スクリプトを実行し、各プロデューサーの有用な出力をプライベートKaggleデータセットとして保存し、それからそれらのデータセットをアタッチして最終的なOOF/テスト/サブミッション出力を作成する1つのコンシューマーノートブック/スクリプトを実行します。プロデューサーがモデルをトレーニングする場合、そのチェックポイント、トークナイザー/設定、フォールドメタデータ、OOF/テスト予測、マニフェストをKaggleデータセットとしてエクスポートする必要があります。下流のノートブックは/kaggle/input/...からモデルをロードします。
  10. 最終的なサブミッション生成アーティファクトをKaggleに送信してスコアリングし、結果のサブミッションステータス/スコアを取得します。
  11. Kaggleがコードコンペティションエラーまたは不明確なスコアリング失敗を返した場合は、デバッグループに入ります:利用可能なログを取得し、可能性の高い障害モードを分類し、防御的にパッチを適用し、最終カーネルを再実行し、再サブミットし、スコアが付けられるか具体的にブロックされるまで繰り返します。
  12. すべての実行について、ローカルCV、リモートKaggle実行ステータス、Kaggleサブミッションスコア、パブリックLB、プライベートリスクノート、シード、コードバージョン、データバージョン、アーティファクトパスを追跡します。
  13. イン倍リークなしで生成されたOOF予測のみを使用してアンサンブルします。

リソースマップ

  • references/method-map.mdを読んで、スキルの背後にあるニュートラルなワークフローマップを理解します。
  • アクティブなチームまたはワークスペース外でコンペティションコード、ノートブック、データセット、モデル、アーティファクト、またはレポートを公開する前に、references/information-sharing-policy.mdを読んでください。
  • Kaggleコンペティションのスラッグ、URL、タイトル、パブリックリーダーボードのコンテキスト、オープンソリューション、またはディスカッションアクティビティがアプローチに影響を与える可能性がある場合は、references/competition-intel.mdを読んでください。
  • フォールド、メトリクス、しきい値、またはリークチェックを選択するときは、references/cross-validation-and-metrics.mdを読んでください。
  • カテゴリ変数、特徴量エンジニアリング、選択、ハイパーパラメータチューニングについては、references/tabular-workflow.mdを読んでください。
  • 画像、セグメンテーション、NLPコンペティションのアプローチについては、references/image-text-workflow.mdを読んでください。
  • ターゲットがKaggleコードコンペティション、非公開再実行、最終ノートブックスコアリングフロー、またはプロデューサーとコンシューマーノートブック間のモデルアーティファクトの引き継ぎである場合は、references/kaggle-code-competition-pipeline.mdを読んでください。
  • より強力なソリューションに複数のモデルファミリー、段階的な特徴量/埋め込み/モデルプロデューサー、疑似ラベリング、蒸留、後処理、ブレンディング、スタッキング、または並列Kaggle GPUノートブックが必要な場合は、references/advanced-notebook-architecture.mdを読んでください。
  • ローカル実行が重い場合、GPUが役立つ場合、Kaggleデータアクセスが必要な場合、またはリモートノートブックの結果を収集する必要がある場合は、references/kaggle-offload.mdを読んでください。
  • 複数のKaggleノートブック、中間データセット、ノートブック出力ソース、またはkagglehubを使用する場合は、references/kaggle-pipeline-datasets.mdを読んでください。
  • 作業を停止する前にreferences/submission-endgame.mdを読んでください。このスキルは、Kaggleスコアリングが試行され、結果が収集されるか、具体的なブロッカーが文書化されるまで完了しません。
  • Kaggleコードコンペティションのサブミッションが失敗した場合、タイムアウトした場合、メモリ不足になった場合、スコアが生成されなかった場合、または不明確な非公開実行/スコアリングエラーが報告された場合は、references/code-competition-debugging.mdを読んでください。
  • プロジェクトレイアウト、OOFアーティファクト、スタッキング、ブレンディング、再現性については、references/ensembling-and-reproducibility.mdを読んでください。
  • ユーザーがこのリポジトリからの過去のケーススタディ、Hermes時代のパターン、または具体的なコンペティションレッスンを求めた場合にのみ、references/research/またはexamples/を読んでください。
  • scripts/scaffold_competition.pyを実行してコンペティションワークスペースを作成します。
  • scripts/make_folds.pyを実行してトレーニングCSVにフォールド列を追加します。
  • scripts/prepare_kaggle_kernel.pyを実行して、メタデータと取得可能な実験ログを含むKaggleカーネルフォルダを作成します。
  • scripts/prepare_kaggle_dataset.pyを実行して、バージョン管理された中間アーティファクトデータセットのメタデータとコマンドを作成します。

デフォルトのKaggle手順

メトリクスとバリデーションから開始します:

  • クリッピング、変換、平均化モード、しきい値、サンプル重みを含むコンペティションメトリクスをローカルで再現します。
  • コンペティションがチーム外で何かを共有する前に、公開コード、外部データ、事前学習済み重み、生成されたアーティファクト、公開リポジトリを許可しているかどうかを確認します。
  • 早期にKaggleサブミッションパスを分類します。コードコンペティションまたはノートブックスコアリングワークフローの場合、最初から最終コンシューマーノートブックをスコアリングアーティファクトとして設計します。
  • kaggle-competition-intel MCPツールが利用可能な場合は、高価なベースラインを選択する前に、スコア順位で並べられた最新の高投票ノートブックにはtop_open_solutionsを、トップ投票で最近アクティブなディスカッショントピックにはcompetition_discussionsを使用します。
  • 非公開テスト分布に一致するようにフォールドを選択します。分類には層化、回帰にはビン層化、繰り返しエンティティにはグループ分割、時系列データには時間認識分割、ラベルの共起が重要な場合にはマルチラベル認識分割を使用します。
  • すべてのモデルのOOF予測を保存します。OOFファイルは、エラー分析、しきい値チューニング、ブレンディング、スタッキングのための通貨です。
  • 最高のフォールドだけでなく、平均フォールドスコアとフォールド分散を比較します。
  • CVと一致しないパブリックLBの上昇は、モデリングの勝利として扱う前にバリデーションの問題として扱います。

次に、次の順序でベースラインを構築します:

  1. スコアリングとサブミッションフォーマットを検証するためのメトリクスのみまたは定数ベースライン。
  2. 高速な古典的ベースライン:表形式データにはLightGBM/CatBoost/XGBoost、テキストにはTF-IDFと線形モデル、画像には事前学習済みバックボーン。
  3. 安定したフォールド、クリーンなアーティファクト、OOF予測を備えた強力なベースライン。
  4. 実行ログと1つの主要メトリクスを使用した特徴量/モデル実験。
  5. いくつかの多様で個別に検証されたモデルが存在した後のアンサンブリングまたはスタッキング。

コンペティションが必要とする場合に、ユーザーが明示的に高度さを要求するのを待たないでください。安定したベースラインの後、公開ソリューション、ディスカッション情報、データモダリティ、メトリクスプレッシャー、またはCVの停滞が、単一のノートブック/モデルではパフォーマンスが不十分であることを示唆する場合は、より強力な段階的アーキテクチャを提案して実行します。アーキテクチャをOOF証拠、アーティファクトマニフェスト、最終Kaggleスコアリングでゲート制御します。

実行がローカルのRAM/VRAMを超える可能性がある場合、GPU/TPUが必要な場合、またはKaggle専用データマウントが必要な場合は、ローカルで強制する代わりにKaggleカーネル実行を準備します。リモート実行は、結果を取得して解釈できるように、experiment_log.json、metrics.jsonl、およびアーティファクトマニフェストを出力する必要があります。

ソリューションに複数の重いステージがある場合は、リモートグラフを浅く監視可能に保ちます:

  • ウェーブごとに5つ未満の独立したプロデューサーノートブック/スクリプトを使用します。
  • 各プロデューサーに、特徴量生成、埋め込み抽出、フォールドトレーニング、チェックポイントトレーニング、モデル蒸留、推論などの単一の責任を与えます。
  • コードコンペティションの場合、モデル/チェックポイントをトレーニングし、それらをプライベートKaggleデータセットとしてエクスポートするプロデューサーノートブックを優先します。最終コンシューマーはそれらのデータセットをアタッチし、/kaggle/input/...からモデルをロードし、非公開テストセーフな推論を実行する必要があります。
  • 耐久性のある再利用と下流ノートブックへの安定した入力として、プロデューサーノートブックの出力をバージョン管理されたプライベートKaggleデータセットとして保存します。耐久性/バージョン管理が不要な短期間のチェーンには、直接のkernel_sourcesのみを使用します。
  • 生成されたデータセットをアタッチし、そのアーティファクトを読み取り、最終的なOOF、テスト予測、ブレンド/スタックレポート、サブミッションを書き込み、その後その最終アーティファクト/カーネルをKaggleに送信してスコアリングする1つの最終コンシューマーノートブック/スクリプトを実行します。
  • データセット、コンペティションファイル、ノートブック出力をダウンロードしたり、データセットバージョンをプログラムでアップロードしたりする方が便利な場合は、Python内でkagglehubを使用します。

完了の定義

計画、スキャフォールド、トレーニング済みモデル、ノートブック実行、ダウンロードされた出力、またはローカルバリデーションスコアで停止しないでください。次のいずれかが真になるまで続けてください:

  • コンペティションサブミッションがKaggleに送信され、Kaggleがそれを処理し、パブリスコアまたはサブミッションステータスが取得および記録されました。
  • コードコンペティションの最終ノートブック/カーネルがすべての必要なプロデューサーアーティファクトを消費し、そのカーネル/バージョン参照とともにサブミットされ、結果のサブミッションステータス/スコアが取得および記録されました。
  • スコアリングを妨げる具体的な外部ブロッカーがあります:Kaggle認証情報の欠落、ルール未承認、再試行後のクォータ枯渇、コンペティション終了、スコアリング無効、必要な手動UIのみのアクション、利用不可のカーネルバージョン、またはKaggleサービス障害。正確なブロッカーと次に必要なコマンド/アクションを記録します。

バリデーションの選択

このクイックマッピングを使用します:

  • バランスの取れた分類:StratifiedKFold。
  • 不均衡な分類:層化フォールドとメトリクス感受性のしきい値設定またはクラス重み。
  • 回帰:通常のターゲットにはKFold、歪んだまたはマルチモーダルなターゲットにはビン層化フォールド。
  • 同じユーザー、患者、製品、セッション、ドキュメント、または画像ソースが複数回出現する場合:GroupKFoldまたは層化グループ分割。
  • 順序付けられたイベントまたは予測:時間分割、拡張ウィンドウバリデーション、またはコンペティション固有の期間分割。
  • 同じ被験者またはシーンからの画像:オーグメンテーションの前に被験者/シーンでグループ化。
  • 重複したソース、著者、質問、製品、またはプロンプトを含むテキスト:ソースキーでグループ化。
  • 非常に小さなデータ:繰り返しフォールドまたはより多くのフォールドを使用しますが、最終的なモデル選択の規律は厳格に保ちます。

モデリングの優先順位

  • 表形式コンペティションの場合、データがほとんどスパーステキストまたは高カーディナリティカテゴリカル相互作用でない限り、ツリーブースティングを優先します。カテゴリカル列が中心的な場合はCatBoostを追加します。
  • 線形モデルとニューラルネットワークの場合、数値特徴量をスケーリングし、カテゴリカルを注意深くエンコードします。
  • ツリーモデルの場合、ラベル/カウント/頻度エンコーディングと適切な欠損値から開始します。スケーリングは通常不要です。
  • ターゲットエンコーディングの場合、常にアウトオブフォールドでエンコーディングを計算し、平滑化を行い、バリデーション行のターゲット可視性を排除します。
  • 画像タスクの場合、アーキテクチャを変更する前に、データセット、変換、ラベル、マスク、メトリクスを正しく設定します。
  • テキストタスクの場合、トランスフォーマーを使用する場合でもTF-IDFベースラインを維持します。高速で、解釈可能であり、しばしばうまくブレンドされます。
  • ハイパーパラメータ探索の場合、フォールドとベースラインが信頼できるようになってからチューニングします。学習率、深さ/リーフ数、正則化、サンプリング、推定器の数を早期停止で探索します。

コンペティションハイジーン

  • 生データは読み取り専用に保ちます。
  • コンペティションデータ、プライベートデータセット、モデルチェックポイント、ダウンロードされた出力、サブミッション、認証情報、データ由来のアーティファクトを、コンペティションのルールとアーティファクトライセンスが明示的に公開再配布を許可しない限り、公開Gitリポジトリから除外します。
  • 実験を変更するすべての値を設定またはコマンドライン引数に配置します。
  • 可能な場合は、Python、NumPy、フレームワーク、モデルライブラリにシードを設定します。
  • モデルファイル、OOF予測、テスト予測、フォールドスコア、特徴量リスト、サブミッションファイルを実行IDとともに保存します。
  • Kaggleオフロードジョブの場合、実行ID、gitコミット、設定、フォールド、メトリクス、ハードウェア、経過時間、OOMノート、出力ファイルパスを含む、取得可能なログとアーティファクトをノートブックのワーキングディレクトリに書き込みます。
  • マルチノートブックパイプラインの場合、プロデューサーカーネル参照、生成されたデータセット参照、データセットバージョン、アーティファクトスキーマ、メトリクス、最終コンシューマー実行IDを含むパイプラインマニフェストを維持します。
  • プロデューサーデータセット、カーネル、モデルアーティファクトはデフォルトでプライベートに保ちます。ターゲットコンペティションのルール、データライセンス、サードパーティIP、ユーザーの意図を確認した後でのみ公開します。
  • サブミッションメッセージ、サブミッションコマンドまたはカーネル/バージョン、Kaggleサブミッションタイムスタンプ、ステータス、利用可能な場合はパブリックスコア、Kaggleから返されたエラーを記録します。
  • 不明確なコードコンペティションの失敗の場合、観察されたステータス、利用可能なログ、疑わしい障害クラス、試みられたパッチ、次の再試行コマンドを記録します。
  • インサンプルのベース予測でスタッカーをトレーニングしないでください。
  • フォールド境界外のバリデーションターゲットを使用して、特徴量、ターゲットエンコーダー、スケーラー、しきい値、またはオーグメンテーションを選択しないでください。
  • 再現可能なトレーニングにはスクリプトを、探索とプロットにはノートブックを優先します。

便利なコマンド

Crea

…

[翻訳用に切り詰めました]

関連スキル