Python3に対応しました(2016.01.25)
Pythonでの機械学習を支援する,MALSS(Machine Learning Support System)というツールを作ってみました(PyPI/GitHub).
色々ご意見頂けると嬉しいです.
こちらに続きを書いています.
・Pythonでの機械学習を支援するツール MALSS(基本)
・Pythonでの機械学習を支援するツール MALSS(応用)
目的
オープンソースの開発環境が充実したことで,機械学習を 使う のが本当に簡単になりました.
しかし,特に勉強をしなくても簡単に使えてしまえるからこそ,思わぬ落とし穴にはまってしまうこともあるのではないでしょうか.
MALSSは特に初学者がはまってしまいがちな部分を自動化するとともに,機械学習の使い方についても学んでもらえることを目指して開発しました.
また,熟練者にとっても分析の導入部分を自動化することで効率化に貢献できるのではと思います.
対象
ビジネスにおける機械学習の適用先として,以下の2つが挙げられます.
- データ分析案件
- システム開発案件
データ分析案件ではデータから何らかの知見を発見することが求められます(データマイニング).
一方,システム開発案件では,未知のデータを用いて何らかの予測などを行うモデルをシステムに組み込んで使用します.
本ツールは後者の システム開発案件 向け機械学習を支援することを想定しています.これは,システム開発案件むけ機械学習の方が,初期の検討段階でパターン化(自動化)できる部分が大きいと考えているからです.
また,機械学習の分類として,
- 教師あり学習
- 教師なし学習
があります.
教師あり学習は,データが入力と出力のペアからなるもので,出力が数値で,入力からそれを予測する回帰(regression)と,出力がカテゴリ値で,入力からどのカテゴリに分類されるのかを予測する分類/識別(classification)があります.
教師なし学習は,データが入力だけからなるもので,入力をなんらかの基準でカテゴリ分けするクラスタリング(clustering)や,外れ値検出(outlier detection)などがこれに該当します.
本ツールは前者の 教師あり学習 を対象としています.これも,教師あり学習の方がパターン化できる部分が大きいと考えているからです.
導入
依存関係
MALSSは以下のパッケージに依存しています.
インストール時に依存パッケージを自動でDLしたりはしないので,お手数ですが手動で対応してください.
Anaconda なら全部入っているので便利です.
- python (>= 2.7 or >= 3.4)
- numpy (>= 1.10.2)
- scipy (>= 0.16.1)
- scikit-learn (>= 0.17)
- matplotlib (>= 1.5.1)
- pandas (>= 0.14.1)
- jinja2 (>= 2.8)
インストール
コマンドラインから
pip install -U malss
でインストールできます.
または,PyPI や GitHub からソースをDL,解凍して展開先ディレクトリに移動,コマンドラインから
python setup.py install
でインストールできます.
なぜPythonか
機械学習の部分をscikit-learnにお任せしているからです.
おわりに
ツールとしてまだまだ至らない点あると思うので,色々ご意見頂けると嬉しいです.
次回は具体的な使用方法について書きたいと思います.