簡単機械学習-PyCaret

はじめに

せっかくPythonを始めたんだから機械学習をやってみたいっと誰もが思うはず。
しかし統計学や数学、難しい分野です。
どんな手法が良いのかを見つけたり、チューニングするのも一苦労。
そんな時に、サクッと作れてしまうのが、今回取り上げるPyCaretです。

インストール

1.専用の仮想環境を作成します。

conda create --name env1 python=3.7
conda active env1

2.インストールする。

pip install pycaret

3.インストールが正常に出来ているか確認する。

import pycaret
print(pycaret.__version__)

使い方

使い方は、超簡単です。まず前準備は下記のコマンドだけ。

第1引数:DataFrame
第2引数:目的変数

exp = setup(df,target='t1')

次は、今回の機械学習に最適なモデルを自動的に探してくれます。
たったこのコマンドだけで!!決定係数が高い順で並べて出てきます。

compare_models()

先ほどのリストよりどのモデルにするかを決めて、モデルを作ります。

model = create_model('et')

ハイパーパラメータのチューニングも下記のコマンドだけでOKです。

tuned_model = tune_model(model, optimize = 'Accuracy')

※パラメータを確認したい場合は、「evaluate_model(tuned_model)」を実行してください。

以上で、最適化された学習済みモデルが出来てしまいます。凄すぎます!!

では作った学習モデルを作って、予想してみましょう。

predict_model(tuned_model)

結果分析をグラフに出してみましょう。

plot_model(tuned_model)

どの項目が今回の予測に使われているかの割合をグラフで出すことも可能です。

plot_model(tuned_model,plot='feature')

最後に、学習済みモデルを保存出来ます。

save_model(tuned_model, model_name="final_model")

ちなみにこの学習済みモデルを次回呼び出して使うのも、これだけ。

from pycaret.classification import load_model
tuned_model = load_model('final_model')
predict_model(tuned_model, data=df1)

まとめ

いかがだったでしょうか?備忘録的に書いてみましたが、これだけでもAutoMLの凄さが分かります。
素人は経験もないので、どのアルゴリズムがいいのかって判断出来ないけど、全部試して一番良いものを教えてくれるなんて、とても便利です。
何かを分析してみたい方は、ぜひ使ってみてください。

IT

Posted by スングル