Skip to content

DNET_ScikitLearn

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

scikit-learn

概要

scikit-learn(サイキットラーン)は、Pythonで使用できるOSSライブラリ、またはフレームワーク

  • David CournapeauによるGoogle Summer of Codeプロジェクト、scikits.learnとして始まった。
  • 大部分がPythonで書かれ、いくつかのコア・アルゴリズムはCythonで書かれている。
  • PythonNumPyとSciPy数値計算ライブラリと連携するよう設計されている。
  • “統計学・パターン認識・データ解析”の技法が豊富に実装されている。
  • APIの一貫性を保つため、いくつかのパターンに従って設計されている。
  • 深層学習を除く機械学習全般のアルゴリズムが実装されている。
    • 分類、回帰、クラスタリングの用途
    • サポートベクターマシン、ランダムフォレスト、Gradient Boosting、k近傍法、DBSCANなどのアルゴリズム

詳細

機能

大きく以下の機能群から構成される(詳細は下記「User guide: contents」を参照)。

  • 教師あり学習
  • 教師なし学習
  • モデル選択・モデル評価
  • 検査、可視化
  • データセット変換
  • データセット読み込みユーティリティ

チュートリアル

データマイニング(DM)- Pythonを参照。

参考

scikit-learn documentation

  • scikit-learn: machine learning in Python
    https://scikit-learn.org/stable/

  • Choosing the right estimator
    https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

  • User guide: contents
    https://scikit-learn.org/stable/user_guide.html

    1. 教師あり学習
    1.1. 線形モデル
    1.2. 線形判別分析と二次判別分析
    1.3. カーネルリッジ回帰
    1.4. サポートベクターマシン
    1.5. 確率的勾配降下法
    1.6. ニアレストネイバーズ
    1.7. ガウス過程
    1.8. クロス分解
    1.9. ナイーブ・ベイズ
    1.10. 決定木
    1.11. アンサンブル手法
    1.12. 多クラス・多出力アルゴリズム
    1.13. 特徴選択
    1.14. 半教師付き学習
    1.15. 等値性回帰
    1.16. 確率校正
    1.17. ニューラルネットワークモデル(教師あり)
    2. 教師なし学習
    2.1. ガウス混合モデル
    2.2. 多様体学習
    2.3. クラスタリング
    2.4. バイクラスタリング
    2.5. 信号を成分に分解する(行列分解問題)
    2.6. 共分散推定
    2.7. 新奇性・外れ値検出
    2.8. 密度推定
    2.9. ニューラルネットワークモデル(教師なし)
    3. モデルの選択と評価
    3.1. クロスバリデーション:推定量性能の評価
    3.2. 推定量のハイパーパラメータのチューニング
    3.3. メトリクスとスコアリング:予測値の品質を定量化する
    3.4. 検証曲線:モデルを評価するためのスコアのプロット
    4. インスペクション
    4.1. 部分依存と個別条件付き期待値のプロット
    4.2. パーミュテーション特徴の重要度
    5. 可視化
    5.1. 利用可能なプロットユーティリティ
    6. データセットの変換
    6.1. パイプラインと複合推定量
    6.2. 特徴抽出
    6.3. データの前処理
    6.4. 欠損値のインプット
    6.5. 教師なし次元削減
    6.6. ランダムプロジェクション
    6.7. カーネル近似
    6.8. ペアワイズメトリクス、アフィニティとカーネル
    6.9. 予測対象(y)の変換
    7. データセット読み込みユーティリティ
    7.1. おもちゃのデータセット
    7.2. 実世界のデータセット
    7.3. 生成されたデータセット
    7.4. 他のデータセットの読み込み
    8. scikit-learnで計算する
    8.1. 計算規模を拡大する戦略: より大きなデータ
    8.2. 計算性能
    8.3. 並列化、資源管理、構成
    9. モデルの永続性
    9.1. Python特有のシリアライゼーション
    9.2. 相互運用可能なフォーマット
    10. よくある落とし穴と推奨される実践
    10.1. 一貫性のない前処理
    10.2. データの漏洩
    10.3. ランダム性の制御
    

移行メモ

  • アルゴリズムの列挙にあった「DBSCA」は「DBSCAN」の誤記のため修正した。
  • 元 Wiki の「機能」配下は見出しのみで本文が無かったため、 箇条書きにまとめ、詳細は「User guide: contents」を参照する形にした。 (章立ては 1.〜7. が概ねこの 6 分類に対応する)

Tags: 移行, scikit-learn, Python, 機械学習, NumPy, SciPy, 分類, 回帰, クラスタリング

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally