Pythonで簡単に使えるAutoML「PyCaret」で機械学習をクイックに試す

AutoMLでまたひとつ便利なものが増えていました。PyCaretというのが最近話題になっていたので、試してみました。

Home – PyCaret

分類、回帰、クラスタリング、異常検知、自然言語処理、関連性探索ができます。

データ登録

データの前処理としては、One-Hot Encodingなど、基本的なことは勝手にやってくれるようです。ただ、特徴量自体を抽出したり、組み合わせるなどは、どこまで細かくやってるかはもう少し使ってみないとわからないです。恐らく細かい特徴量エンジニアリングをするなら、自分で前処理する必要があると思います。クイックに試すなら、超簡単です。

PyCaretでは、様々なデータも取得することが可能です。今回はワインの赤白を分類する例で、試してみました。

from pycaret.datasets import get_data
dataset = get_data('wine')

 

データをPyCaretに登録します。

from pycaret.classification import * 
exp_clf101 = setup(data = data, target = 'type', session_id=123)

 

これで終わり。ただ、Enterを押さないと処理が完了しないので、それだけ注意。

もう少し細かい設定もできます。具体的な内容は、こちらの記事が詳しく書かれています。

PyCaretでできる前処理について調べてみた – Qiita

 

モデルの比較

様々なアルゴリズムで学習させたモデルの比較はこれだけ。こちらも超簡単。これだけで、対応しているアルゴリズムが一斉に検証されます。

compare_models()

 

特定のアルゴリズムで検証したい場合はこちら。

lightgbm = create_model('lightgbm')

 

モデルの精度改善

グリッドサーチでハイパーパラメータのチューニングをやってくれるようです。ターゲットとする精度指標をオプションで指定することも可能です。

tuned_lightgbm = tune_model('lightgbm')

モデルの可視化

可視化も簡単にできます。一括に出すならこちら。

evaluate_model(tuned_lightgbm)

 

Confusion Matrix、AUC、Feature Importanceなどを選択すると、それぞれが表示されます。

他にもモデルをアンサンブルさせることもできますし、クイックにモデル検証や精度改善もできそうです。それ以外にも、予測・クラスタリングなどもできます。用途も結構ありそうですね。

自分みたいな俄かには、こういうAutoMLは勉強にもなりますし、細かな処理に煩わされることもないので、ありがたい限りです。