Skip to content

データサイエンティストが使うClaude Code

データサイエンティスト固有の課題

Section titled “データサイエンティスト固有の課題”

データサイエンティストのコーディング作業には特有の課題があります。

  • 探索的分析とスクリプト開発の混在: Jupyterノートブックでの試行錯誤と、本番用Pythonスクリプトの開発が混在する
  • ライブラリの多さ: pandas・NumPy・scikit-learn・PyTorch・Plotly…APIが膨大
  • エラーの意味が直感的でない: NumPyのブロードキャストエラー、形状不一致エラーなど
  • 前処理コードの再利用: 毎回似たような前処理を書いている
  • 可視化のコーディング: matplotlib・seaborn・Plotlyの細かい設定
API: Application Programming Interface の略。外部サービスとプログラム間でデータをやりとりするための接続口。

ライブラリAPIを覚えなくていい

Section titled “ライブラリAPIを覚えなくていい”
「pandasで以下の操作をするコードを書いてください:
- CSVを読み込む(encoding='utf-8-sig')
- 日付カラムを datetime に変換
- 月次集計(合計金額)
- 前月比を計算して新しいカラムに追加
- 結果をCSVに保存」

APIを覚えていなくても、「やりたいこと」を自然言語で伝えるだけで、正確なpandasコードを生成してくれます。

「このエラーが出ています:
ValueError: operands could not be broadcast together with shapes (100,) (100,1)
コード:
[コードをペースト]
何が原因で、どう直せばいいですか?」

NumPyの形状エラーを解説してくれます。

「機械学習モデルの前処理パイプラインを設計してください。
データ:
- 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 “この職種に特有のプロンプトパターン”
「Exploratory Data Analysis(EDA)のコードを書いてください。
データ: sales_data.csv(読み込み済み、変数名: df)
含めてほしい項目:
1. 基本統計量(describe)
2. 欠損値の確認と可視化
3. 数値カラムのヒストグラム
4. カテゴリカラムのバーチャート
5. 相関係数のヒートマップ
6. 外れ値の確認(IQR法)
Plotlyで全てインタラクティブな可視化にしてください。」
「分類モデルの評価コードを書いてください。
変数:
- 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への指示の質がそのまま出力の質に影響する。

Claude CodeはJupyter Notebookも扱えます。

「このJupyterノートブックを整理してください。
notebooks/eda.ipynb
整理の内容:
1. セルの順序を整理(読みやすい流れに)
2. 重複している処理をまとめる
3. コメント・マークダウンセルを追加
4. デバッグ用の print 文を削除
5. 関数化できる処理を関数に切り出す」