Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

data-scientist

機械学習・統計モデリング・実験設計・予測分析など、データサイエンス全般を網羅するエキスパートスキル。MLアルゴリズムの選定、特徴量エンジニアリング、A/Bテストの設計、モデルの性能評価、予測パイプラインの構築などを行う際に活用してください。

description の原文を見る

> Expert data science covering machine learning, statistical modeling, experimentation, predictive analytics, and advanced analytics. Use when selecting ML algorithms, engineering features, designing A/B tests, evaluating model performance, or building predictive pipelines.

SKILL.md 本文

データサイエンティスト

エージェントはシニアデータサイエンティストとして機能し、アルゴリズムの選択、特徴エンジニアリング、実験設計、モデル評価を行い、予測を事業インパクトに変換します。

ワークフロー

  1. 問題を定義する -- ビジネス目標をML タスク(分類、回帰、ランキング、クラスタリング)として言い直す。主要な評価指標を定義する(例:不均衡な分類の場合は F1、回帰の場合は RMSE)。制約条件を文書化する(レイテンシ、解釈可能性、データ量)。
  2. データを収集・プロファイリングする -- ソースを特定し、行数、ヌル率、クラスバランス、特徴分布を確認する。モデリング前にデータ品質の問題にフラグを付ける。
  3. 特徴をエンジニアリングする -- 数値変換(log、ビニング)を作成し、カテゴリ変数をエンコード(one-hot、ターゲット、頻度)し、時間コンポーネントを抽出する(時間、曜日、循環 sin/cos)。重要度、相互情報量、RFE を用いてトップ特徴を選択する。
  4. モデルを選択・訓練する -- 以下のアルゴリズム選択マトリックスを使用する。単純なものから始めて(ロジスティック/線形回帰)、必要な場合にのみ複雑性を追加する(Random Forest、XGBoost、ニューラルネット)。クロスバリデーションを使用する。
  5. 厳密に評価する -- 分類指標(accuracy、precision、recall、F1、AUC-ROC)または回帰指標(MAE、RMSE、R-squared、MAPE)をレポートする。ベースラインと比較する。過学習(訓練と テスト の差分)をチェックする。
  6. 結果を伝える -- ビジネスインパクトを提示する(例:「モデルは偽陽性を 30% 削減し、年間 500K ドルを削減」)。デプロイメント経路または次の実験を推奨する。

アルゴリズム選択マトリックス

シナリオ推奨アルゴリズムアップグレードすべき場合
解釈可能性が必要ロジスティック/線形回帰ステークホルダー対応モデルは常にここから開始
小規模データ(< 10K 行)Random Forest精度が不十分な場合は XGBoost に移行
中規模データ、高精度が必要XGBoost / LightGBM表形式データの標準的なワークホース
大規模データ、複雑なパターンニューラルネットワークツリー手法がプラトーに達したときのみ
教師なし分類K-Means / DBSCANシルエットスコアを用いて k を検証

特徴エンジニアリングの例

数値変換:

import numpy as np, pandas as pd

def engineer_numerical(df: pd.DataFrame, col: str) -> pd.DataFrame:
    return pd.DataFrame({
        f'{col}_log':     np.log1p(df[col]),
        f'{col}_sqrt':    np.sqrt(df[col].clip(lower=0)),
        f'{col}_squared': df[col] ** 2,
        f'{col}_binned':  pd.cut(df[col], bins=5, labels=False),
    })

循環エンコーディングを使用した時間ベースの特徴:

def engineer_time(df: pd.DataFrame, col: str) -> pd.DataFrame:
    dt = pd.to_datetime(df[col])
    return pd.DataFrame({
        f'{col}_hour':      dt.dt.hour,
        f'{col}_dayofweek': dt.dt.dayofweek,
        f'{col}_month':     dt.dt.month,
        f'{col}_is_weekend': dt.dt.dayofweek.isin([5, 6]).astype(int),
        f'{col}_hour_sin':  np.sin(2 * np.pi * dt.dt.hour / 24),
        f'{col}_hour_cos':  np.cos(2 * np.pi * dt.dt.hour / 24),
    })

特徴選択(重要度ベース):

from sklearn.ensemble import RandomForestClassifier

def select_top_features(X, y, n=20):
    rf = RandomForestClassifier(n_estimators=100, random_state=42)
    rf.fit(X, y)
    importance = pd.Series(rf.feature_importances_, index=X.columns)
    return importance.nlargest(n).index.tolist()

モデル評価

分類:

from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score

def evaluate_classifier(y_true, y_pred, y_proba=None) -> dict:
    m = {
        "accuracy":  accuracy_score(y_true, y_pred),
        "precision": precision_score(y_true, y_pred),
        "recall":    recall_score(y_true, y_pred),
        "f1":        f1_score(y_true, y_pred),
    }
    if y_proba is not None:
        m["auc_roc"] = roc_auc_score(y_true, y_proba)
    return m

回帰:

from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
import numpy as np

def evaluate_regressor(y_true, y_pred) -> dict:
    return {
        "mae":  mean_absolute_error(y_true, y_pred),
        "rmse": np.sqrt(mean_squared_error(y_true, y_pred)),
        "r2":   r2_score(y_true, y_pred),
    }

A/B テスト設計と分析

サンプルサイズの計算:

from scipy import stats
import numpy as np

def required_sample_size(baseline_rate: float, mde: float, alpha: float = 0.05, power: float = 0.8) -> int:
    """Return required N per variant. mde is relative (e.g., 0.10 = 10% lift)."""
    effect = baseline_rate * mde
    z_a = stats.norm.ppf(1 - alpha / 2)
    z_b = stats.norm.ppf(power)
    p = baseline_rate
    return int(np.ceil(2 * p * (1 - p) * (z_a + z_b) ** 2 / effect ** 2))

# Example: baseline 5% conversion, detect 10% relative lift
# >>> required_sample_size(0.05, 0.10)  -> ~62,214 per variant

結果分析:

def analyze_ab(control: np.ndarray, treatment: np.ndarray, alpha: float = 0.05) -> dict:
    """Analyze A/B test with proportions z-test."""
    n_c, n_t = len(control), len(treatment)
    p_c, p_t = control.mean(), treatment.mean()
    p_pool = (control.sum() + treatment.sum()) / (n_c + n_t)
    se = np.sqrt(p_pool * (1 - p_pool) * (1/n_c + 1/n_t))
    z = (p_t - p_c) / se
    p_val = 2 * (1 - stats.norm.cdf(abs(z)))
    return {
        "control_rate": p_c, "treatment_rate": p_t,
        "lift": (p_t - p_c) / p_c,
        "p_value": p_val, "significant": p_val < alpha,
        "ci_95": ((p_t - p_c) - 1.96 * se, (p_t - p_c) + 1.96 * se),
    }

プロジェクトテンプレート

# Data Science Project: [Name]
## ビジネス目的 -- どのような問題を解決しているか?
## 成功指標 -- 主要:[指標]、二次:[指標]
## データ -- ソース、サイズ(行/特徴)、期間
## 方法論 -- 段階別ステップ
## 結果
| 指標 | ベースライン | モデル | 改善 |
|--------|----------|-------|-------------|
## ビジネスインパクト -- [定量的インパクト]
## 推奨事項 -- [次のアクション]
## 制限事項 -- [既知の注意点]

参考資料

  • references/ml_algorithms.md -- アルゴリズムの詳細解説
  • references/feature_engineering.md -- 特徴エンジニアリングのパターン
  • references/experimentation.md -- A/B テストガイド
  • references/statistics.md -- 統計手法

スクリプト

python scripts/experiment_tracker.py log --name "xgb_v2" --params '{"lr":0.1,"depth":6}' --metrics '{"f1":0.87,"auc":0.92}'
python scripts/experiment_tracker.py list --sort-by f1 --top 5
python scripts/experiment_tracker.py compare --ids 1 3 5 --json
python scripts/hypothesis_tester.py ttest --file data.csv --col-a group_a --col-b group_b
python scripts/hypothesis_tester.py proportion --successes-a 120 --trials-a 1000 --successes-b 145 --trials-b 1000
python scripts/hypothesis_tester.py chi-square --file contingency.csv --json
python scripts/feature_selector.py --file dataset.csv --target churn --top 10
python scripts/feature_selector.py --file dataset.csv --target revenue --method correlation --json

ツール参照

ツール目的キーフラグ
experiment_tracker.pyローカル JSON ファイルで実験をログ記録、一覧表示、比較する(パラメータ、指標、タグを含む)log --name --params --metrics --tagslist --sort-by --topcompare --ids--json
hypothesis_tester.py統計テストを実行:Welch の t 検定、ペアの t 検定、比率 z 検定、カイ二乗独立性検定ttest --file --col-a --col-b [--paired]proportion --successes-a --trials-a ...chi-square --file--json
feature_selector.pyターゲット列の複合スコア(分散、相関、相互情報量、ヌル率)によって特徴をランク付けする--file <csv>--target <col>--top <n>--method all/correlation/mutual_info--json

トラブルシューティング

問題考えられる原因解決方法
モデルが過学習する(指標の訓練-テスト間に大きなギャップ)特徴が多すぎる、正則化が不十分、またはデータリークが発生しているfeature_selector.py で特徴数を減らし、正則化を追加し、特徴エンジニアリングで時間リークを監査する
A/B テストで統計的に有意な結果だが効果サイズが小さい大規模なサンプルサイズにより、小さな差でも統計的に有意になるp 値とともに効果サイズ(Cohen's d)を常にレポートする;実用的な有意性の閾値を使用する
hypothesis_tester.py の p 値が scipy と異なるこのツールは正規分布/t 分布近似を使用する(標準ライブラリのみ)出版品質の分析については scipy.stats で検証する;このツールは高速な方向推定用に設計されている
特徴重要度スコアが全て近いゼロターゲット変数の分散が極めて低い、または特徴セットに予測力がないターゲット分布をチェックする;特徴エンジニアリングを検討するか、追加のデータソースを収集する
experiment_tracker.py が実験 ID を順不同で表示する実験がシーケンシャルでない順序で記録された、またはログファイルが手動編集されたID は自動インクリメントされます;意味のある順序付けは指標で --sort-by を使用してください
カイ二乗テストが「table must be at least 2x2」で失敗するCSV 分割表の行が 2 未満または列が 2 未満であるCSV がヘッダー行と最低 2x2 の数値セルを持つことを確認する;形式が期待に一致することを確認する
クラス不均衡により accuracy が誤解を招くAccuracy が多数クラスの予測で水増しされるF1、precision-recall、または AUC-ROC を代わりに使用する;訓練中に SMOTE またはクラスウェイトを適用する

成功の基準

  • すべての ML プロジェクトはデプロイ前に Define-Collect-Engineer-Train-Evaluate-Communicate ワークフローに従う。
  • 特徴選択は文書化される:feature_selector.py の出力は実験レコードとともに保存される。
  • すべての実験は experiment_tracker.py でパラメータ、指標、説明的な名前を含めて追跡される。
  • モデル評価レポートには最低 3 つの指標(例:F1、AUC-ROC、precision)とベースラインとの比較が含まれる。
  • A/B テストはデータ収集前に仮説、サンプルサイズ計算、主要指標を事前登録する。
  • 統計テストは p 値だけでなく、効果サイズと信頼区間をレポートする。
  • ビジネスインパクトはドル単位またはユーザー指標単位で定量化される(例:「偽陽性を 30% 削減し、年間 500K ドルを削減」)。

スコープと制限事項

スコープ内: 機械学習アルゴリズム選択、特徴エンジニアリング、モデル訓練と評価、A/B テスト設計と分析、統計仮説検定、実験追跡、ステークホルダーへの結果伝達。

スコープ外: 本番へのモデルデプロイメント(ml-ops-engineer を参照)、データパイプラインインフラストラクチャ、ダッシュボード開発、リアルタイムサービング アーキテクチャ。

制限事項: Python ツールは Python 標準ライブラリのみを使用します。hypothesis_tester.py は中程度のサンプルサイズに対して正確ですが、極端なケース(非常に小さい n、極度のスキュー)については scipy で検証すべき正規分布および t 分布近似を使用します。feature_selector.py はビニング離散化を使用した近似相互情報量を計算します。高精度の特徴選択については、sklearn の mutual_info_classif または順列重要度を使用します。すべてのツールはローカルファイルを処理し、MLflow、W&B、または他の追跡プラットフォームと統合されません。

統合ポイント

  • MLOps エンジニアdata-analytics/ml-ops-engineer):訓練済みモデルは本番デプロイメント、監視、レジストリ管理のために引き継がれます。
  • データアナリストdata-analytics/data-analyst):予測モデリングが必要な複雑な分析質問はアナリストからデータサイエンティストにエスカレートされます。
  • Analytics エンジニアdata-analytics/analytics-engineer):特徴エンジニアリングパイプラインは mart モデルを上流データソースとして依存する場合があります。
  • プロダクトチームproduct-team/):実験結果は製品決定に情報を提供します;A/B テスト設計はプロダクトマネージャーと共同で作成されます。
  • エンジニアリングengineering/senior-ml-engineer):アルゴリズム実装の詳細とモデルアーキテクチャの決定がデータサイエンスと ML エンジニアリングを橋渡しします。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
borghei
リポジトリ
borghei/claude-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/borghei/claude-skills / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: borghei · borghei/claude-skills · ライセンス: MIT