Agent Skills by ALSEL
Anthropic Claudeデータ・分析⭐ リポ 0品質スコア 60/100

scikit-learn

Pythonのscikit-learnを使用した機械学習に対応します。分類や回帰などの教師あり学習、クラスタリングや次元削減などの教師なし学習、モデル評価、ハイパーパラメータチューニング、前処理、MLパイプラインの構築に利用できます。アルゴリズム、前処理技法、パイプライン、ベストプラクティスに関する包括的なリファレンスドキュメントを提供します。

description の原文を見る

Machine learning in Python with scikit-learn. Use when working with supervised learning (classification, regression), unsupervised learning (clustering, dimensionality reduction), model evaluation, hyperparameter tuning, preprocessing, or building ML pipelines. Provides comprehensive reference documentation for algorithms, preprocessing techniques, pipelines, and best practices.

SKILL.md 本文

Scikit-learn

概要

このスキルは、古典的な機械学習の業界標準 Python ライブラリである scikit-learn を使用した機械学習タスクの包括的なガイダンスを提供します。分類、回帰、クラスタリング、次元削減、前処理、モデル評価、本番環境対応の ML パイプライン構築に使用します。

インストール

# uv を使用して scikit-learn をインストール
uv pip install scikit-learn

# オプション: 可視化の依存関係をインストール
uv pip install matplotlib seaborn

# 一般的に一緒に使用される
uv pip install pandas numpy

このスキルを使用する場合

以下の場合に scikit-learn スキルを使用します:

  • 分類または回帰モデルを構築する
  • クラスタリングまたは次元削減を実行する
  • 機械学習用のデータを前処理および変換する
  • クロスバリデーションでモデルパフォーマンスを評価する
  • グリッドサーチまたはランダムサーチでハイパーパラメータをチューニングする
  • 本番環境ワークフロー用の ML パイプラインを作成する
  • タスク用に異なるアルゴリズムを比較する
  • 構造化(表形式)データとテキストデータの両方で作業する
  • 解釈可能で古典的な機械学習アプローチが必要な場合

クイックスタート

分類の例

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report

# データを分割
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, stratify=y, random_state=42
)

# 前処理
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

# モデルをトレーニング
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train_scaled, y_train)

# 評価
y_pred = model.predict(X_test_scaled)
print(classification_report(y_test, y_pred))

混合データを用いた完全なパイプライン

from sklearn.pipeline import Pipeline
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.impute import SimpleImputer
from sklearn.ensemble import GradientBoostingClassifier

# 特徴量タイプを定義
numeric_features = ['age', 'income']
categorical_features = ['gender', 'occupation']

# 前処理パイプラインを作成
numeric_transformer = Pipeline([
    ('imputer', SimpleImputer(strategy='median')),
    ('scaler', StandardScaler())
])

categorical_transformer = Pipeline([
    ('imputer', SimpleImputer(strategy='most_frequent')),
    ('onehot', OneHotEncoder(handle_unknown='ignore'))
])

# トランスフォーマーを結合
preprocessor = ColumnTransformer([
    ('num', numeric_transformer, numeric_features),
    ('cat', categorical_transformer, categorical_features)
])

# 完全なパイプライン
model = Pipeline([
    ('preprocessor', preprocessor),
    ('classifier', GradientBoostingClassifier(random_state=42))
])

# フィッティングと予測
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

コア機能

1. 教師あり学習

分類および回帰タスク用の包括的なアルゴリズム。

主要なアルゴリズム:

  • 線形モデル: Logistic Regression、Linear Regression、Ridge、Lasso、ElasticNet
  • ツリーベース: Decision Trees、Random Forest、Gradient Boosting
  • サポートベクターマシン: SVC、SVR(様々なカーネル付き)
  • アンサンブル手法: AdaBoost、Voting、Stacking
  • ニューラルネットワーク: MLPClassifier、MLPRegressor
  • その他: Naive Bayes、K-Nearest Neighbors

使用する場合:

  • 分類: 離散カテゴリを予測(スパム検出、画像分類、不正検出)
  • 回帰: 連続値を予測(価格予測、需要予測)

参照: references/supervised_learning.md で詳細なアルゴリズム説明、パラメータ、使用例を確認できます。

2. 教師なし学習

クラスタリングおよび次元削減を通じてラベル付けされていないデータのパターンを発見します。

クラスタリングアルゴリズム:

  • 分割ベース: K-Means、MiniBatchKMeans
  • 密度ベース: DBSCAN、HDBSCAN、OPTICS
  • 階層型: AgglomerativeClustering
  • 確率的: Gaussian Mixture Models
  • その他: MeanShift、SpectralClustering、BIRCH

次元削減:

  • 線形: PCA、TruncatedSVD、NMF
  • マニフォルド学習: t-SNE、UMAP、Isomap、LLE
  • 特徴抽出: FastICA、LatentDirichletAllocation

使用する場合:

  • 顧客セグメンテーション、異常検出、データ可視化
  • 特徴量次元の削減、探索的データ分析
  • トピックモデリング、画像圧縮

参照: references/unsupervised_learning.md で詳細な説明を確認できます。

3. モデル評価と選択

ロバストなモデル評価、クロスバリデーション、ハイパーパラメータチューニング用のツール。

クロスバリデーション戦略:

  • KFold、StratifiedKFold(分類)
  • TimeSeriesSplit(時系列データ)
  • GroupKFold(グループ化されたサンプル)

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

  • GridSearchCV(網羅的サーチ)
  • RandomizedSearchCV(ランダムサンプリング)
  • HalvingGridSearchCV(連続的な半減)

メトリクス:

  • 分類: accuracy、precision、recall、F1スコア、ROC AUC、混同行列
  • 回帰: MSE、RMSE、MAE、R²、MAPE
  • クラスタリング: silhouette score、Calinski-Harabasz、Davies-Bouldin

使用する場合:

  • モデルパフォーマンスを客観的に比較する
  • 最適なハイパーパラメータを見つける
  • クロスバリデーションを通じてオーバーフィッティングを防止する
  • 学習曲線でモデルの動作を理解する

参照: references/model_evaluation.md で包括的なメトリクスとチューニング戦略を確認できます。

4. データ前処理

生データを機械学習に適した形式に変換します。

スケーリングと正規化:

  • StandardScaler(平均 0、分散 1)
  • MinMaxScaler(範囲内に正規化)
  • RobustScaler(外れ値に対してロバスト)
  • Normalizer(サンプル単位の正規化)

カテゴリ変数のエンコーディング:

  • OneHotEncoder(名義カテゴリ)
  • OrdinalEncoder(順序付きカテゴリ)
  • LabelEncoder(目的変数のエンコーディング)

欠損値の処理:

  • SimpleImputer(平均、中央値、最頻値)
  • KNNImputer(k-最近傍)
  • IterativeImputer(多変量補完)

特徴工学:

  • PolynomialFeatures(相互作用項)
  • KBinsDiscretizer(ビニング)
  • 特徴選択(RFE、SelectKBest、SelectFromModel)

使用する場合:

  • スケール化された特徴が必要なアルゴリズムのトレーニング前(SVM、KNN、ニューラルネットワーク)
  • カテゴリ変数を数値形式に変換する
  • 欠損データを体系的に処理する
  • 線形モデル用の非線形特徴を作成する

参照: references/preprocessing.md で詳細な前処理技法を確認できます。

5. パイプラインと組成

再現可能で本番環境対応の ML ワークフローを構築します。

主要なコンポーネント:

  • Pipeline: トランスフォーマーとエスティメータを順序立てて連鎖させる
  • ColumnTransformer: 異なる列に異なる前処理を適用する
  • FeatureUnion: 複数のトランスフォーマーを並列に結合する
  • TransformedTargetRegressor: 目的変数を変換する

利点:

  • クロスバリデーション時のデータリークを防止する
  • コードを簡潔にし保守性を向上させる
  • ハイパーパラメータの共同チューニングを可能にする
  • トレーニングと予測間で一貫性を確保する

使用する場合:

  • 常に本番環境ワークフロー用に Pipeline を使用する
  • 数値特徴とカテゴリ特徴を混在させる場合(ColumnTransformer を使用)
  • 前処理ステップを含むクロスバリデーションを実行する場合
  • ハイパーパラメータチューニングに前処理パラメータを含める場合

参照: references/pipelines_and_composition.md で包括的なパイプラインパターンを確認できます。

サンプルスクリプト

分類パイプライン

前処理、モデル比較、ハイパーパラメータチューニング、評価を含む完全な分類ワークフローを実行します:

python scripts/classification_pipeline.py

このスクリプトは以下を示します:

  • 混合データ型(数値とカテゴリ)の処理
  • クロスバリデーションを使用したモデル比較
  • GridSearchCV によるハイパーパラメータチューニング
  • 複数のメトリクスを使用した包括的な評価
  • 特徴量の重要度分析

クラスタリング分析

アルゴリズム比較と可視化を使用したクラスタリング分析を実行します:

python scripts/clustering_analysis.py

このスクリプトは以下を示します:

  • クラスタ数を見つける(肘法、silhouette 分析)
  • 複数のクラスタリングアルゴリズムを比較(K-Means、DBSCAN、凝集型、ガウス混合)
  • グラウンドトゥルースなしでクラスタリング品質を評価する
  • PCA 投影で結果を可視化する

リファレンスドキュメント

このスキルは特定のトピックへのディープダイブ用の包括的なリファレンスファイルを含みます:

クイックリファレンス

ファイル: references/quick_reference.md

  • 一般的なインポートパターンとインストール手順
  • 一般的なタスク用のクイックワークフローテンプレート
  • アルゴリズム選択チートシート
  • 一般的なパターンと落とし穴
  • パフォーマンス最適化のヒント

教師あり学習

ファイル: references/supervised_learning.md

  • 線形モデル(回帰と分類)
  • サポートベクターマシン
  • 決定木とアンサンブル手法
  • K-最近傍、Naive Bayes、ニューラルネットワーク
  • アルゴリズム選択ガイド

教師なし学習

ファイル: references/unsupervised_learning.md

  • すべてのクラスタリングアルゴリズムとパラメータ、使用例
  • 次元削減技法
  • 外れ値と新規検出
  • ガウス混合モデル
  • 手法選択ガイド

モデル評価

ファイル: references/model_evaluation.md

  • クロスバリデーション戦略
  • ハイパーパラメータチューニング手法
  • 分類、回帰、クラスタリングメトリクス
  • 学習曲線と検証曲線
  • モデル選択のベストプラクティス

前処理

ファイル: references/preprocessing.md

  • 特徴量スケーリングと正規化
  • カテゴリ変数のエンコーディング
  • 欠損値補完
  • 特徴工学技法
  • カスタムトランスフォーマー

パイプラインと組成

ファイル: references/pipelines_and_composition.md

  • パイプールの構築と使用
  • 混合データ型用 ColumnTransformer
  • 並列変換用 FeatureUnion
  • 完全なエンドツーエンドの例
  • ベストプラクティス

一般的なワークフロー

分類モデルの構築

  1. データを読み込んで探索する

    import pandas as pd
    df = pd.read_csv('data.csv')
    X = df.drop('target', axis=1)
    y = df['target']
    
  2. 層化で分割する

    from sklearn.model_selection import train_test_split
    X_train, X_test, y_train, y_test = train_test_split(
        X, y, test_size=0.2, stratify=y, random_state=42
    )
    
  3. 前処理パイプラインを作成する

    from sklearn.pipeline import Pipeline
    from sklearn.preprocessing import StandardScaler
    from sklearn.compose import ColumnTransformer
    
    # 数値特徴とカテゴリ特徴を別々に処理
    preprocessor = ColumnTransformer([
        ('num', StandardScaler(), numeric_features),
        ('cat', OneHotEncoder(), categorical_features)
    ])
    
  4. 完全なパイプラインを構築する

    model = Pipeline([
        ('preprocessor', preprocessor),
        ('classifier', RandomForestClassifier(random_state=42))
    ])
    
  5. ハイパーパラメータをチューニングする

    from sklearn.model_selection import GridSearchCV
    
    param_grid = {
        'classifier__n_estimators': [100, 200],
        'classifier__max_depth': [10, 20, None]
    }
    
    grid_search = GridSearchCV(model, param_grid, cv=5)
    grid_search.fit(X_train, y_train)
    
  6. テストセットで評価する

    from sklearn.metrics import classification_report
    
    best_model = grid_search.best_estimator_
    y_pred = best_model.predict(X_test)
    print(classification_report(y_test, y_pred))
    

クラスタリング分析の実行

  1. データを前処理する

    from sklearn.preprocessing import StandardScaler
    
    scaler = StandardScaler()
    X_scaled = scaler.fit_transform(X)
    
  2. 最適なクラスタ数を見つける

    from sklearn.cluster import KMeans
    from sklearn.metrics import silhouette_score
    
    scores = []
    for k in range(2, 11):
        kmeans = KMeans(n_clusters=k, random_state=42)
        labels = kmeans.fit_predict(X_scaled)
        scores.append(silhouette_score(X_scaled, labels))
    
    optimal_k = range(2, 11)[np.argmax(scores)]
    
  3. クラスタリングを適用する

    model = KMeans(n_clusters=optimal_k, random_state=42)
    labels = model.fit_predict(X_scaled)
    
  4. 次元削減で可視化する

    from sklearn.decomposition import PCA
    
    pca = PCA(n_components=2)
    X_2d = pca.fit_transform(X_scaled)
    
    plt.scatter(X_2d[:, 0], X_2d[:, 1], c=labels, cmap='viridis')
    

ベストプラクティス

常にパイプラインを使用する

パイプラインはデータリークを防止し一貫性を確保します:

# 良い例: パイプライン内の前処理
pipeline = Pipeline([
    ('scaler', StandardScaler()),
    ('model', LogisticRegression())
])

# 悪い例: パイプライン外の前処理(情報漏洩の可能性)
X_scaled = StandardScaler().fit_transform(X)

トレーニングデータのみでフィッティングする

テストデータでフィッティングしてはいけません:

# 良い例
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)  # 変換のみ

# 悪い例
scaler = StandardScaler()
X_all_scaled = scaler.fit_transform(np.vstack([X_train, X_test]))

分類では層化分割を使用する

クラス分布を保持します:

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, stratify=y, random_state=42
)

再現性のためにランダムステートを設定する

model = RandomForestClassifier(n_estimators=100, random_state=42)

適切なメトリクスを選択する

  • バランスの取れたデータ: Accuracy、F1スコア
  • 不均衡なデータ: Precision、Recall、ROC AUC、Balanced Accuracy
  • コスト考慮: カスタムスコアラーを定義する

必要に応じて特徴量をスケーリングする

特徴量スケーリングが必要なアルゴリズム:

  • SVM、KNN、ニューラルネットワーク
  • PCA、正則化付きの線形/ロジスティック回帰
  • K-Means クラスタリング

特徴量スケーリングが不要なアルゴリズム:

  • ツリーベースのモデル(決定木、ランダムフォレスト、勾配ブースティング)
  • Naive Bayes

トラブルシューティング一般的な問題

ConvergenceWarning

問題: モデルが収束しなかった 解決策: max_iter を増やすか特徴量をスケーリングする

model = LogisticRegression(max_iter=1000)

テストセットでのパフォーマンスが低い

問題: オーバーフィッティング 解決策: 正則化、クロスバリデーション、またはシンプルなモデルを使用する

# 正則化を追加
model = Ridge(alpha=1.0)

# クロスバリデーションを使用
scores = cross_val_score(model, X, y, cv=5)

大規模データセットでのメモリエラー

解決策: 大規模データ用に設計されたアルゴリズムを使用する

# 大規模データセット用に SGD を使用
from sklearn.linear_model import SGDClassifier
model = SGDClassifier()

# またはクラスタリング用に MiniBatchKMeans を使用
from sklearn.cluster import MiniBatchKMeans
model = MiniBatchKMeans(n_clusters=8, batch_size=100)

追加リソース

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

詳細情報

作者
jadzoghaib
リポジトリ
jadzoghaib/Sabadell_Capstone
ライセンス
BSD-3-Clause
最終更新
2026/5/5

Source: https://github.com/jadzoghaib/Sabadell_Capstone / ライセンス: BSD-3-Clause

関連スキル

OpenAIデータ・分析⭐ リポ 1,451

hugging-face-trackio

Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。

by gradio-app
汎用データ・分析⭐ リポ 855

btc-bottom-model

ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。

by star23
Anthropic Claudeデータ・分析⭐ リポ 380

protein_solubility_optimization

タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。

by SpectrAI-Initiative
Anthropic Claudeデータ・分析⭐ リポ 1,743

research-lookup

Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。

by K-Dense-AI
Anthropic Claudeデータ・分析⭐ リポ 299

tree-formatting

ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。

by majiayu000
汎用データ・分析⭐ リポ 145

querying-indonesian-gov-data

インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。

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