データサイエンティストが使うClaude Code
データサイエンティスト固有の課題
Section titled “データサイエンティスト固有の課題”データサイエンティストのコーディング作業には特有の課題があります。
- 探索的分析とスクリプト開発の混在: Jupyterノートブックでの試行錯誤と、本番用Pythonスクリプトの開発が混在する
- ライブラリの多さ: pandas・NumPy・scikit-learn・PyTorch・Plotly…APIが膨大
- エラーの意味が直感的でない: NumPyのブロードキャストエラー、形状不一致エラーなど
- 前処理コードの再利用: 毎回似たような前処理を書いている
- 可視化のコーディング: matplotlib・seaborn・Plotlyの細かい設定
※API: Application Programming Interface の略。外部サービスとプログラム間でデータをやりとりするための接続口。
Claude Code がどう解決するか
Section titled “Claude Code がどう解決するか”ライブラリAPIを覚えなくていい
Section titled “ライブラリAPIを覚えなくていい”「pandasで以下の操作をするコードを書いてください:- CSVを読み込む(encoding='utf-8-sig')- 日付カラムを datetime に変換- 月次集計(合計金額)- 前月比を計算して新しいカラムに追加- 結果をCSVに保存」APIを覚えていなくても、「やりたいこと」を自然言語で伝えるだけで、正確なpandasコードを生成してくれます。
エラーの診断
Section titled “エラーの診断”「このエラーが出ています:ValueError: operands could not be broadcast together with shapes (100,) (100,1)
コード:[コードをペースト]
何が原因で、どう直せばいいですか?」NumPyの形状エラーを解説してくれます。
前処理パイプラインの設計
Section titled “前処理パイプラインの設計”「機械学習モデルの前処理パイプラインを設計してください。
データ:- ECサイトのユーザー購買履歴(20万件)- カラム: user_id, item_id, category, price, date, rating
タスク: 次に購入するアイテムを予測(レコメンデーション)
必要な前処理:1. 欠損値処理の方針2. カテゴリ変数のエンコーディング3. 時系列分割(train/val/test)4. scikit-learnのPipelineで実装」CLAUDE.md の設定例(データサイエンス向け)
Section titled “CLAUDE.md の設定例(データサイエンス向け)”# データ分析プロジェクト
## プロジェクト概要[プロジェクトの目的・ゴール]
## 技術スタック- Python 3.11- pandas 2.x, NumPy 1.x- scikit-learn 1.x- PyTorch 2.x(モデル)- Plotly(可視化)- MLflow(実験管理)
## データ- メインデータ: `data/raw/` 以下- 前処理済みデータ: `data/processed/` 以下- データの説明: `docs/data_dictionary.md`
## コーディング規約- 型ヒントを使う(`df: pd.DataFrame`)- 乱数はシード固定(`np.random.seed(42)`)- 実験結果はMLflowに記録する- Jupyterノートブックは `notebooks/` 以下- 再利用コードは `src/` にPythonファイルとして整理
## Claudeへのお願い- コードを書く前にデータの形状・型を確認するコードも追加して- マジックナンバー(閾値等)は定数として定義して- 処理に時間がかかる場合はtqdmでプログレスバーを表示して※CLAUDE.md: プロジェクトのルートに置くClaude Code専用の設定ファイル。プロジェクト固有のルールやコンテキストを記述する。
この職種に特有のプロンプトパターン
Section titled “この職種に特有のプロンプトパターン”EDAのコード生成
Section titled “EDAのコード生成”「Exploratory Data Analysis(EDA)のコードを書いてください。データ: sales_data.csv(読み込み済み、変数名: df)
含めてほしい項目:1. 基本統計量(describe)2. 欠損値の確認と可視化3. 数値カラムのヒストグラム4. カテゴリカラムのバーチャート5. 相関係数のヒートマップ6. 外れ値の確認(IQR法)
Plotlyで全てインタラクティブな可視化にしてください。」モデルの評価コード
Section titled “モデルの評価コード”「分類モデルの評価コードを書いてください。
変数:- y_true: 正解ラベル(numpy配列)- y_pred: 予測ラベル- y_prob: 予測確率
含めてほしい評価指標:- Accuracy, Precision, Recall, F1(macro/weighted)- ROC曲線とAUC- 混同行列(ヒートマップ)- Calibration curve
全てplotlyで可視化してください。」特徴量エンジニアリングのアイデア出し
Section titled “特徴量エンジニアリングのアイデア出し”「以下のデータから特徴量エンジニアリングのアイデアを提案してください。
タスク: 顧客の解約予測(binary classification)データ:- 契約開始日、終了日- 月次利用金額(12ヶ月分)- サポート問い合わせ履歴- ログイン頻度
以下の観点でアイデアを出してください:1. 集計特徴量(統計量)2. 時系列特徴量(トレンド・季節性)3. ドメイン知識に基づく特徴量4. 相互作用特徴量
優先度(効果が期待できる順)も教えてください。」※プロンプト: AIへの指示文。Claude Codeへの指示の質がそのまま出力の質に影響する。
Jupyter Notebook での活用
Section titled “Jupyter Notebook での活用”Claude CodeはJupyter Notebookも扱えます。
「このJupyterノートブックを整理してください。notebooks/eda.ipynb
整理の内容:1. セルの順序を整理(読みやすい流れに)2. 重複している処理をまとめる3. コメント・マークダウンセルを追加4. デバッグ用の print 文を削除5. 関数化できる処理を関数に切り出す」