【第3回】実例まるっと公開! 「最下位 → 平均より上」へ駆け上がったやり取り
ここからは“対話ログ+生成コード”のハイライトを時系列で追います。
2-1 まずはゴールを紙1枚に──“タスクシート”をAIに渡す
ステップ
シートを作る GoogleドキュメントやNotionでOK
以下7項目を書くだけ
コンペ名
目的(回帰/分類★)
評価指標(例:RMSE★)
締切までの日数
1日の提出上限
使える計算資源(CPUだけ/GPUあり)
自分のスキル感(Python初級など)
ワンポイント
数字があるとAIはグッと動きやすくなります。 逆に「おまかせで」と書くと精度がブレるので注意!
私が送った実物(抜粋)
markdown
コピーする編集する
# Task Sheet
- Title: House Price Challenge
- Task: 回帰
- Metric: RMSE
- Deadline: 6 days left
- Submissions per day: 10
- Resource: CPU only
- My skill: Python beginner / SQL intermediate
2-2 山①:データ理解(EDA★)をAIにおまかせ
プロンプト例(丸コピーOK)
Prompt #1
この Task Sheet と train_sample.csv(1000行)を読み込み、 パッと分かるポイントを100字で教えて。 さらに“気になる列トップ5”を欠損率と相関を添えてリストアップして。
返ってきた要約(ほんの一部)
数値列12本、カテゴリ列6本
欠損が多い:LotFrontage (18%)
OverallQual と価格の相関 0.79(強い順)
外れ値:GrLivArea > 4000 が0.4%
気になる列トップ5
OverallQual (欠損0%, 相関0.79)
GrLivArea (0%, 0.70) …
ここでの学び
“トップ5”の形で返してもらうと次の会議が一瞬で済む 欠損率も一緒に出るので「どこを補完★するか」が迷わない
2-3 山②:作戦会議 → ベースラインモデル作成
2-3-1 まず「候補アイデア」を出してもらう
Prompt #2
RMSE を 0.15 未満にしたい。 GPUなし・外部データ禁止で、効きそうな特徴量エンジニアリング★案を3つ以内で。 各案に“効果見込み↑↑/↑/→”と“作業コスト★Low/Med/High”を付けて。
AIの提案(要約)
案 効果見込み コスト 説明 A. 欠損20%超列を“4分位バケツ”に変換 ↑↑ Low 情報量↑、実装簡単 B. OverallQual × GrLivArea の掛け算 ↑ Low 相互作用で説明力UP C. 学習データを対数変換 → Low 外れ値やや緩和
**採否は“○×付けて返信”**と伝えると、AIは○だけを次に使います。
2-3-2 コードをお願い!
Prompt #3
○が付いたAとBを反映してLightGBMで学習コードを作って。 ファイルは train.py / predict.py / utils/fe.py の3つに分けて。
AIが出力した主なポイント
fe.py:欠損列→4分位ダミー化、掛け算列を追加
train.py:5fold★交差検証+Optuna★でハイパラ20試行
predict.py:モデル読み込み→提出CSV出力
実行した結果
交差検証 0.148
公開LB 0.151 → ランキング 110/340 位(ほぼ真ん中!)
2-4 山③:磨き上げループ
スコアを返して改良案を依頼
Prompt #4
公開LB = 0.151(Rank 110/340)でした。 学習時間60分以内でRMSEをあと0.005下げる方法を上位2案ください。
AI案(抜粋)
案 推定改善幅 作業コスト 1. GroupKFold:似た家族IDで分ける −0.004 Low 2. ランダムフォレストとの平均アンサンブル★ −0.003 Med
私 → 「1だけ○」 → 再コード生成 → 再提出 → LB 0.147(Rank 78)
2-5 つまずき→リカバリの実況
トラブル 何が起きた? 即席プロンプト JSONでNaN 提出ファイルが壊れる 「df.fillna(-1)を入れて再出力して」 ログが長すぎ チャットが止まる 「さっきの結果を50字で要約し直して」 夜間ジョブ失敗 Optunaが4時間でクラッシュ 「timeout=90*60を追加して」
ポイント
細かい修正はそのまま日本語で投げても通じる。 “エラー文丸ごと貼り付け→『直るように修正して』”でほぼ治ります。
2-6 振り返り:勝因は「人がやったこと≒3つだけ」
ゴールと制約を決めて伝えた
AIの提案に○×を付けた
LBスコアをコピペして返した
あとは全部 Deep Research がやってくれました。
この流れさえ守れば、Python初級者でも短期間で平均以上は現実的です。
