Data Scientist
自動EDA、モデル比較、時系列分析を備えたエンドツーエンドのデータサイエンスワークフロー。
Pythonスクリプト
スキルパッケージをダウンロード (.skill) GitHubでソースを見る ワークフロー
概要
Data Scientist は、探索的データ分析からモデルの学習・評価・レポート作成までをカバーする包括的なデータサイエンスワークフローを提供します。3つの Python 自動化スクリプトが重い処理を担当し、Claude が方法論的な判断のガイドと結果の解釈を行います。
主な機能:
- 自動EDA – データ品質評価、分布分析、相関分析、可視化の自動生成
- モデル比較 – 1つのコマンドで7-9種類のアルゴリズム(回帰・分類)を学習・評価
- 時系列分析 – 定常性検定、季節分解、ACF/PACF、複数モデルによる予測
- レポート生成 – エグゼクティブサマリーとビジネス推奨を含む構造化された分析レポート
使用場面
- 探索的分析 – 表形式データのパターン、分布、関係性を理解したい場合
- 予測モデリング – 分類・回帰モデルを構築し、アルゴリズムを比較したい場合
- 時系列予測 – 時系列データの分析と将来値の予測
- 特徴量エンジニアリング – モデルに最適な特徴量を作成・選択したい場合
- モデル評価 – アルゴリズム比較、特徴量重要度の解釈、過学習のチェック
- レポート作成 – ステークホルダー向けの包括的な分析レポートを生成したい場合
前提条件
- Claude Code がインストール済みであること
data-scientistスキルが~/.claude/skills/にコピー済みであること- Python 3 と主要なデータサイエンスライブラリ:
pandas,scikit-learn,matplotlib,seaborn,statsmodels
依存関係のインストール:
pip install pandas scikit-learn matplotlib seaborn statsmodels
外部 API キーは不要です。
動作の仕組み
このスキルは7ステップのワークフローに従います:
1. 問題定義
|
2. データ理解 (EDA)
|
3. データ準備・特徴量エンジニアリング
|
4. モデル選択・学習
|
5. モデル評価・解釈
|
6. インサイト・推奨
|
7. コミュニケーション・デプロイ
ステップ 1: 問題定義
Claude がビジネス上の質問をデータサイエンスの問題に変換します。問題タイプ(分類、回帰、時系列、クラスタリング)、成功基準、制約条件(解釈可能性、レイテンシ、データ量)を決定します。「この分析はどのようなビジネス判断に活用されますか?」「モデルの解釈可能性は重要ですか?」などの明確化質問を行います。
ステップ 2: データ理解
Claude が auto_eda.py を実行して包括的なデータプロファイルを生成し、出力をレビューして品質の問題、重要なパターン、特徴量の関係性を特定します。自動レポートから浮かび上がった仮説に対して、手動のフォローアップ分析を行います。
ステップ 3: データ準備
EDA の結果に基づき、Claude が特徴量エンジニアリング戦略を適用します: 歪んだ分布への数学的変換、カテゴリ変数のエンコーディング、交互作用特徴量、時間ベースの特徴量(ラグ、ローリング統計)、集約特徴量。特徴量選択手法(分散閾値、相関フィルタリング、ツリーベースの重要度)で次元を削減します。
ステップ 4: モデル学習
Claude が model_comparison.py を実行し、7-9種類のアルゴリズムを交差検証で自動的に学習・評価します。スクリプトが学習/テスト分割、ハイパーパラメータのデフォルト値、指標の計算を処理します。
ステップ 5: モデル評価
Claude が比較結果を分析し、過学習のチェック(学習スコアとテストスコアの差)、混同行列や残差プロットのレビュー、特徴量重要度の解釈を行います。必要に応じて SHAP 値や部分依存プロットでより深いモデル解釈を提供します。
ステップ 6-7: インサイトとコミュニケーション
Claude が技術的な発見をビジネス推奨に変換し、影響を定量化して、付属の analysis_report_template.md を使って構造化されたレポートを生成します。
付属スクリプト
| スクリプト | 目的 | 主な出力 |
|---|---|---|
auto_eda.py |
自動EDA: データ品質、分布、相関 | テキストレポート、分布チャート、相関ヒートマップ |
model_comparison.py |
7-9種類のMLアルゴリズムの学習と比較(回帰・分類) | 性能比較表、最適モデル推奨、特徴量重要度 |
timeseries_analysis.py |
時系列診断と予測 | 定常性検定(ADF/KPSS)、季節分解、ACF/PACF、信頼区間付き予測 |
スクリプトの使い方:
# EDA
python scripts/auto_eda.py data.csv --target target_col --output eda_results/
# モデル比較(回帰)
python scripts/model_comparison.py data.csv price --problem-type regression --output model_results/
# モデル比較(分類)
python scripts/model_comparison.py data.csv churn --problem-type classification --output model_results/
# 時系列
python scripts/timeseries_analysis.py sales.csv revenue --date-col date --forecast-periods 30 --output ts_results/
モデル選択フロー
Claude は問題の特性に基づいてモデリングアプローチを選択します:
| 要因 | 小規模データ (<10k行) | 大規模データ (>1M行) |
|---|---|---|
| 解釈可能性が必要 | 線形/ロジスティック回帰、決定木 | 正則化付き線形モデル |
| 最大精度が必要 | Random Forest、SVM + 交差検証 | Gradient Boosting (XGBoost, LightGBM) |
| 不均衡クラス | Balanced Random Forest、SMOTE + シンプルモデル | クラス重み付き Gradient Boosting |
| 時系列 | ARIMA、指数平滑法 | ラグ特徴量付き XGBoost、Prophet |
使い方の例
例1: データセットの探索
sales_data.csv を分析してください。EDAを実行し、データ品質の問題を特定し、
revenue と最も相関の強い特徴量を教えてください。
Claude が auto_eda.py を実行し、出力をレビューして、主要なパターン、品質の問題、特徴量の関係性を解説します。
例2: モデルの構築と比較
customer_data.csv に "churned" カラムがあります。
解約予測の分類モデルを構築し、最適なモデルを推奨してください。
Claude が model_comparison.py を分類モードで実行し、各アルゴリズムの F1/ROC-AUC を評価、混同行列を分析して、特徴量重要度の知見とともに推奨を提供します。
例3: 時系列の予測
daily_revenue.csv(カラム: date, revenue)を使って今後90日間を予測してください。
信頼区間を表示し、季節性があれば特定してください。
Claude が timeseries_analysis.py を実行し、分解と定常性検定をレビュー、ARIMAと指数平滑法を比較して、信頼区間付きの予測を生成します。
例4: 特徴量エンジニアリングのガイダンス
signup_date, last_login, total_purchases, product_category のカラムを持つ
顧客データセットがあります。解約予測モデル用の特徴量エンジニアリングを手伝ってください。
Claude が RFM特徴量(Recency, Frequency, Monetary)、在籍期間ベースの特徴量、ログイン頻度指標、カテゴリ交互作用特徴量を作成し、付属の feature_engineering.md を参照します。
例5: 完全な分析レポート
marketing_campaign.csv を分析し、マーケティングチーム向けの
完全なレポートを生成してください。どのチャネルがコンバージョンを促進しているか知りたいです。
Claude が EDA を実行し、分類モデルを構築、SHAP で特徴量重要度を解釈し、analysis_report_template.md を使って非技術的な言葉で構造化されたレポートを生成します。
トラブルシューティング
auto_eda.py で依存関係エラーが発生する
症状: スクリプトが pandas, seaborn, statsmodels の ModuleNotFoundError を発生させる。
解決策: 必要なライブラリをすべてインストールしてください: pip install pandas scikit-learn matplotlib seaborn statsmodels。仮想環境を使用している場合は、スクリプト実行前に有効化されていることを確認してください。
モデル比較で過学習が見られる
症状: 学習スコアは高いが、テストスコアがすべてのモデルで大幅に低い。
解決策: 通常、データリーケージまたはデータ不足を示しています。将来の情報が特徴量に漏れていないか確認してください(特に時系列データ)。モデルの複雑さの低減、正則化の追加、学習サンプルの増加を試みてください。Claude はこのパターンを自動的にフラグし、修正アクションを提案します。
時系列予測が季節性を無視する
症状: 予測線がフラットまたはトレンドのみで、生データに明らかに見える週次・月次パターンを反映していない。
解決策: --date-col パラメータが日付カラムを正しく識別していること、日付がパース可能な形式であることを確認してください。季節性が存在するが弱い場合は、Claude に明示的に伝えてください: 「このデータには週次の季節性があります」。Claude が分解とモデルパラメータを調整します。
ヒントとベストプラクティス
- EDAから始める – モデリングに入る前に必ず探索的分析を実行。データ品質の問題が判明し、特徴量エンジニアリングの方針が定まります。
- 目的変数を指定する – 予測対象のカラムを伝えることで、問題タイプが自動的に選択されます。
- データリーケージに注意 – 特徴量が学習データのみで作成されていることを確認。時間的な制約がある場合は明示してください。
- 単一の指標に頼らない – 分類では Precision, Recall, F1, ROC-AUC を総合的に確認。不均衡データでは Accuracy を主要指標にしないでください。
- 特徴量を反復改善 – 最初のモデル比較後、特徴量重要度を参考にさらなるエンジニアリングを行います。
- レポートを依頼する – ステークホルダー向けの構造化された分析レポートの生成を依頼できます。
問題タイプの選択ガイド
| 問題 | タイプ | 主要指標 |
|---|---|---|
| 数値の予測(価格、売上) | 回帰 | RMSE, MAE, R二乗 |
| カテゴリの予測(解約、不正) | 分類 | F1, ROC-AUC, Precision/Recall |
| 将来値の予測 | 時系列 | MASE, MAE, カバレッジ |
| データ内のグループ発見 | クラスタリング | シルエットスコア, イナーシャ |
関連スキル
- Critical Code Reviewer – 分析スクリプトの品質レビュー
- TDD Developer – データ処理パイプラインのテスト作成