今回は機械学習の自動化が出来るかもしれない
ライブラリを使ってみました。
解説動画はこちら
今回使用するのは
PyCaretというライブラリです。
これはPythonで実装された
オープンソースの機械学習ライブラリーで
目的変数は
ライブラリを使ってみました。
解説動画はこちら
今回使用するのは
PyCaretというライブラリです。
これはPythonで実装された
オープンソースの機械学習ライブラリーで
機械学習の一連の作業を自動化する
「AutoML」をサポートしています。
つまり
「AutoML」をサポートしています。
つまり
数行で機械学習のコードを
代替できてしまう優れものです。
利用するためには
あらかじめインストールされている必要があります。
pip install pycaret
それでは早速サンプルコード見ていきましょう。
代替できてしまう優れものです。
利用するためには
あらかじめインストールされている必要があります。
pip install pycaret
それでは早速サンプルコード見ていきましょう。
ボストンの住宅価格のデータで
検証してみることにします。
検証してみることにします。
目的変数は
medv : 住宅価格
になります。
最初にライブラリ群を読み込みします。
データもPyCaretの中から読み込みます。
次にセットアップです。
ここではデータと目的変数を指定します。

これが終わったら次は
モデルの精度を比較します。

1行実行するだけで複数のモデルを比較して
結果を出してくれます。
今回は回帰のモデルで比較を行いましたが
一番良いのは「et」(Extra Trees Regressor)
というモデルでした。
これを使ってみることにしましょう。

クロスバリデーションも自動で行ってくれてるようです。
次はパラメータをチューニングしてみましょう。
これも1行で出来てしまいます。

パラメータチューニングをした方が
やや精度が落ちている気がしますが
気にしないことにしましょう。
これでモデル作りは終わりなので
形にします。

はい、モデルが出来上がりました。
早くてあっとゆーまでした。
モデルの評価部分も自動でたくさんの
評価軸を出してくれます。

UIでいろいろ指標を変更できるようです。
最後にテストデータでの検証を見てみましょう。
パラメータチューニングの結果と
遜色ない結果となりました。
さらにアンサンブル学習のモデルを作るのも
簡単です。
モデルを指定したのを引数に加えるだけです。

これもなかなか精度が良さそうな結果になっています。
複数のモデルを使った検証が
10行ほどのコードで出来てしまいます。
いやー
恐ろしい物ですねー
まとめ
あれ?これだけのコードで済むなら
機械学習エンジニア要らなくね?????
と思ってしまいました。
特にこれと似たようなサービスである
DataRobotさんはほぼほぼ要らなく無いですかねー
こういう便利なライブラリが出てくると
機械学習のモデルを作っているエンジニアって
めっちゃくちゃ価値が下がってきますね・・・
要らなくならないように、頑張らないと・・・・
ということで今回は
機械学習の自動化が出来ちゃう
PyCaretのご紹介でした。
それでは。
になります。
最初にライブラリ群を読み込みします。
データもPyCaretの中から読み込みます。
# ライブラリの読み込み import pandas as pd from pycaret.regression import * from pycaret.datasets import get_data from sklearn.model_selection import train_test_split from sklearn.metrics import mean_absolute_error boston_data = get_data('boston') train, test = train_test_split(boston_data)
次にセットアップです。
ここではデータと目的変数を指定します。
# セットアップ #データと目的変数を指定する exp1 = setup(data = train , target = 'medv', ignore_features = None, session_id=1)たったこれだけで、データの検証が終わってしまいます。

これが終わったら次は
モデルの精度を比較します。
# モデルを比較する compare_models()

1行実行するだけで複数のモデルを比較して
結果を出してくれます。
今回は回帰のモデルで比較を行いましたが
一番良いのは「et」(Extra Trees Regressor)
というモデルでした。
これを使ってみることにしましょう。
# 精度の良さそうなやつでモデルを作ってみる model = create_model('モデルのラベル')

クロスバリデーションも自動で行ってくれてるようです。
次はパラメータをチューニングしてみましょう。
これも1行で出来てしまいます。
# モデルのチューニングを行う tuned_model = tune_model(model , optimize = 'MAE')

パラメータチューニングをした方が
やや精度が落ちている気がしますが
気にしないことにしましょう。
これでモデル作りは終わりなので
形にします。
# 最終的なモデルを作る final_model = finalize_model(tuned_model) final_model

はい、モデルが出来上がりました。
早くてあっとゆーまでした。
モデルの評価部分も自動でたくさんの
評価軸を出してくれます。
# モデルの評価 evaluate_model(tuned_model)

UIでいろいろ指標を変更できるようです。
最後にテストデータでの検証を見てみましょう。
#テストデータで検証 result = predict_model(final_model, data = test) y_true = result['medv'] y_pred = result['Label'] mean_absolute_error(y_true, y_pred)3.2223362928049464
パラメータチューニングの結果と
遜色ない結果となりました。
さらにアンサンブル学習のモデルを作るのも
簡単です。
モデルを指定したのを引数に加えるだけです。
# アンサンブル学習 model1 = create_model('gbr') model2 = create_model('et') model3 = create_model('lightgbm') ensemble = blend_models([model1, model2,model3])

これもなかなか精度が良さそうな結果になっています。
複数のモデルを使った検証が
10行ほどのコードで出来てしまいます。
いやー
恐ろしい物ですねー
まとめ
あれ?これだけのコードで済むなら
機械学習エンジニア要らなくね?????
と思ってしまいました。
特にこれと似たようなサービスである
DataRobotさんはほぼほぼ要らなく無いですかねー
こういう便利なライブラリが出てくると
機械学習のモデルを作っているエンジニアって
めっちゃくちゃ価値が下がってきますね・・・
要らなくならないように、頑張らないと・・・・
ということで今回は
機械学習の自動化が出来ちゃう
PyCaretのご紹介でした。
それでは。
コメントする