0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

scikit-learnによる問題解決のためのアプローチ

Posted at

Pythonで利用可能な機械学習のライブラリであるscikit-learnがあります。分析を行なった人なら使ったことがあると思います。

scikit-learnのドキュメントにはアルゴリズムの仕様説明だけでなく、機械学習におけるアプローチ方法についても記載があります。

機械学習の問題解決のために試行錯誤する際に、道標となるような基本的なアプローチ方法がまとまっているので紹介します。

ドキュメント

scikit-learnのドキュメントは安定版の1.0をベースに紹介します。
開発版の1.1も公開されているので興味がある方は覗いてみてください。

安定版1.0

開発版1.1などの別バージョン

GitHub ソースなど

検出器の選び方

機械学習の問題を解決する上で最も難しいのは、その作業に適した推定器を見つけることであることがよくあります。
機械学習の手法ありきではなく、データありきで問題を解決する必要があるので、データの特徴をよく理解した上で最適な手法を選択する必要があります。

データの種類や問題によって、適した推定器は異なります。

以下のフローチャートは、データに対してどの推定器を試すべきか、どのように問題に取り組むべきか、大まかなガイドとなるようにデザインされています。

下のフローチャートの各推定量をクリックすると、そのドキュメントが表示されます。

ml_map_sl.png

オレンジ色のSTARTから見ていくと、アルゴリズムを選択する分岐点には、データ数が10Kや100K以上あるかが判断材料になっていることがあります。

自分の使ったことがあるアプローチだけでなく、データの特徴に基づいて判断してアプローチ方法を変えてみるというのも大切です。

緑色の検出器までたどり着くと、4つの大きなカテゴリ(classification,regression,clustering,dimensionality reduction)に分かれています。以下に4つのカテゴリの特徴をまとめます。

分類 classification

ある物体がどのカテゴリーに属するかを識別すること。

応用例はスパム検出、画像認識。
アルゴリズムはSVM, nearest neighbors, random forest, など。

リグレッション regression

物体に関連する連続値の属性を予測する。

応用例は医薬品の反応、株価の推移。
アルゴリズムはSVR, nearest neighbors, random forest など。

クラスタリング clustering

類似したオブジェクトをセットに自動的にグループ化すること。

応用例は顧客のセグメンテーション, 実験結果のグループ化。
アルゴリズムはk-Means、スペクトルクラスタリング、Mean-Shiftなど。

次元削減 dimensionality reduction

考慮すべき確率変数の数を減らすこと。

応用例は可視化、効率化。
アルゴリズムはk-Means、特徴選択、非負行列因子分解など。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?