【初めての機械学習_2】scikit-learn

scikit-learnとは

  • 機械学習アルゴリズムを簡単に実装できるライブラリ
  • オープンソースであり、個人/商用問わず、誰でも無料で利用することができる
  • とても有名なライブラリであり、インターネット上に情報がたくさんある。

上記のことから、初学者が機械学習を始めるのにオススメなライブラリと言える。

scikit-learnの得意分野

scikit-learnが得意とする分野は以下が挙げられる。

  • 教師あり学習
    ・分類
    ・回帰
  • 教師なし学習
    ・クラスタリング
    ・次元圧縮

逆に、以下の分野は不得意(実装できないわけではない)である。

  • 強化学習

アルゴリズムの選定基準

scikit-learnで扱えるアルゴリズムはたくさんある。どのアルゴリズムを使用するかの選定基準として「チートシート」というのが公式に用意されている。

自分なりに整理したみたのが以下。


教師あり学習

分類

データが10万以下
→ YES
 ・(オススメ1)Linear SVC
 ・(オススメ2)K近似法
 ・(オススメ3)SVC、ランダムフォレスト

→NO
 ・(オススメ1)確率的勾配降下法
 ・(オススメ2)カーネル近似法

回帰

データが10万以下
→ YES

  データの内、無視して良いものがある
  → YES
   ・Lasso回帰

  → NO
  ・リッジ回帰、SVR

→ NO
 ・線形回帰


教師なし学習

クラスタリング

データが1万以下
→ YES

  分割したいグループ数が決まっている
  → YES
   ・(オススメ1)k-means
   ・(オススメ2)Spectral Clustering、ガウス混合モデル

  → NO
   ・ MeanShift、変分混合ガウス分布

→ NO
 ※ クラスタリングするのは難しい

次元圧縮

データが1万以下
→ YES
  ・(オススメ1)主成分分析
  ・(オススメ2)Isomap、Spectral Embedding
  ・(オススメ3)LLE

→ NO
 ・カーネル近似

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA