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

scikit-learn-best-practices

Pythonにおけるscikit-learnを用いた機械学習のベストプラクティスを提供するスキルで、モデルの開発・評価・デプロイまでをカバーします。scikit-learnを使った実装品質の向上や、適切な手法の選択に役立てることができます。

description の原文を見る

Best practices for scikit-learn machine learning, model development, evaluation, and deployment in Python

SKILL.md 本文

Scikit-learn ベストプラクティス

scikit-learn 開発に関する専門的なガイドライン。機械学習ワークフロー、モデル開発、評価、ベストプラクティスに焦点を当てています。

コードスタイルと構造

  • 正確な Python サンプルを含む簡潔で技術的な回答を作成する
  • 機械学習ワークフローにおける再現性を優先する
  • データパイプラインには関数型プログラミングを使用する
  • カスタムエスティメータにはオブジェクト指向プログラミングを使用する
  • 明示的なループより vectorized operations を優先する
  • PEP 8 スタイルガイドラインに従う

機械学習ワークフロー

データ準備

  • 前処理を行う前に必ずデータを分割する: train/validation/test
  • train_test_split()random_state 付きで使用して再現性を確保する
  • 不均衡分類ではデータを層化分割する: stratify=y
  • テストセットは最終評価まで完全に分離したままにする

特徴エンジニアリング

  • 距離ベースのアルゴリズムには適切に特徴をスケーリングする
  • 正規分布する特徴には StandardScaler を使用する
  • 有界な特徴には MinMaxScaler を使用する
  • 外れ値を含むデータには RobustScaler を使用する
  • カテゴリ変数をエンコードする: OneHotEncoderOrdinalEncoderLabelEncoder
  • 欠損値を処理する: SimpleImputerKNNImputer

パイプライン

  • 前処理とモデリングをチェーンするには常に Pipeline を使用する
  • 変換器が訓練データにのみフィッティングされるため、データリークを防止する
  • コードをよりクリーンで再現可能にする
  • デプロイメントとシリアライゼーションを容易にする
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier

pipeline = Pipeline([
    ('scaler', StandardScaler()),
    ('classifier', RandomForestClassifier(random_state=42))
])

Column Transformers

  • 特徴タイプごとに異なる前処理を行うには ColumnTransformer を使用する
  • 単一のパイプラインで数値とカテゴリ前処理を組み合わせる

モデル選択とチューニング

クロスバリデーション

  • 信頼性の高いパフォーマンス推定のためにクロスバリデーションを使用する
  • クイック評価には cross_val_score() を使用する
  • 複数の指標には cross_validate() を使用する
  • 適切な CV 戦略を使用する:
    • 回帰には KFold
    • 分類には StratifiedKFold
    • 時系列データには TimeSeriesSplit
    • グループ化されたデータには GroupKFold

ハイパーパラメータチューニング

  • 徹底的な探索には GridSearchCV を使用する
  • 大きなパラメータ空間には RandomizedSearchCV を使用する
  • 訓練/バリデーションデータでチューニングし、テストデータでは決してしない
  • 並列処理には n_jobs=-1 を設定する

モデル評価

分類メトリクス

  • 問題に適したメトリクスを使用する:
    • バランスの取れたクラスには accuracy_score
    • 不均衡には precision_scorerecall_scoref1_score
    • ランキング能力には roc_auc_score
  • 包括的な概要には classification_report() を使用する
  • エラー分析には confusion_matrix() を調査する

回帰メトリクス

  • 一般的な用途には mean_squared_error (MSE)
  • 解釈性には mean_absolute_error (MAE)
  • 説明分散には r2_score

評価のベストプラクティス

  • ポイント推定値だけでなく信頼区間を報告する
  • モデルの動作を理解するには複数のメトリクスを使用する
  • 意味のあるベースラインと比較する
  • 最後に一度だけ、保留されたテストセットで評価する

不均衡データの処理

  • 層化分割とクロスバリデーションを使用する
  • クラスの重みを検討する: class_weight='balanced'
  • 適切なメトリクスを使用する (F1、AUC-PR、精度ではない)
  • ビジネスニーズに基づいて決定閾値を調整する

特徴選択

  • 統計テスト付きの SelectKBest を使用する
  • RFE (Recursive Feature Elimination) を使用する
  • モデルベースの選択を使用する: SelectFromModel
  • ツリーベースのモデルから特徴の重要度を調査する

モデルの永続化

  • モデルの保存と読み込みには joblib を使用する
  • モデルだけでなくパイプライン全体を保存する
  • モデルアーティファクトをバージョン管理する
  • モデルメタデータを文書化する

パフォーマンス最適化

  • 利用可能な場所では並列処理に n_jobs=-1 を使用する
  • 反復的な訓練には warm_start=True を検討する
  • 高次元のスパースデータにはスパース行列を使用する
  • 大規模データには partial_fit() を使用した段階的学習を検討する

主要な規約

  • サブモジュールからインポートする: from sklearn.ensemble import RandomForestClassifier
  • 再現性のために random_state を設定する
  • データリークを防ぐためにパイプラインを使用する
  • モデルの選択肢とハイパーパラメータを文書化する

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

詳細情報

作者
mindrally
リポジトリ
mindrally/skills
ライセンス
Apache-2.0
最終更新
不明

Source: https://github.com/mindrally/skills / ライセンス: Apache-2.0

関連スキル

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 フォームよりご連絡ください。
原作者: mindrally · mindrally/skills · ライセンス: Apache-2.0