VARISTA
VARISTAとはノーコードで機械学習のモデリングおよび実験管理、デプロイまでサポートしているクラウド型機械学習プラットフォームSaaSです。
作業の流れ
- 最終的に学習させるデータを用意
- VARISTAにデータアップロード
- 学習テンプレート作成
- 学習開始
- AutoTune(パラメータ最適化)結果を確認
- Pythonで最適化されたパラメータを利用
データ
今回はタイタニックでやってみます。
VARISTAの準備
サインアップ(無料プラン有り)してワークスペース、プロジェクトを1つ作成しておきます。
データアップロード
早速プロジェクトにデータをアップロードしていきます。
「サイドバー› データ› データを追加」
解析完了後、データを開いて、Survivedを目的変数に設定します。
学習テンプレート作成
あらかじめいくつか学習テンプレートが用意されていますが、今回はVARISTAのAutoTune機能を利用するので
新たに学習テンプレートを作成します。
「サイドバー› モデリング› 上部タブ› テンプレート› 新規作成」
「基本設定」は今回タイタニックなのでObjectiveを「Classification」に設定
あとはデフォルト
今回は学習タイプは「Single」で試します。複数のアルゴリズムのパラメータを同時に探索したい場合などは「Auto Selection」にするといいかもしれません。
「アルゴリズム」を「LightGBM Classifier」に設定(他のアルゴリズムでやる人はここで選択)
さらに「AutoTune」の項目を「TPE Optimization with optuna」に設定することでoptunaをノンコードで利用することができます。
カンマ区切りでデータの探索範囲を設定しましょう。
以下公式ドキュメント👇
学習
「サイドバー› モデリング› 新規モデル」からモデルを学習させましょう。
データとテンプレートを選択し、作成!
学習が始まります。
結果確認
今回は87秒で学習が完了しました。
このようにトレーニングの結果が確認できます。
早速パラメータ調整の結果をみてみましょう
「上部タブ› アルゴリズム› Selected Estimator› AutoTune」から確認できます。
このように設定した評価指標(f1 score)をもとにチューニングされてるのがわかります。
パラメータの設定値とスコアの関係を可視化してくれる機能もあります。
チューニングされたパラメータを利用
「上部タブ› アルゴリズム› Selected Estimator› Parameters」から最終的に利用されたパラメータを取得できます。
こちらをコピーすることでそのままコードで利用することが可能です。
以下のように利用してみました。
from lightgbm import LGBMClassifier
#~~~~~ 省略 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
params = {
'colsample_bytree': 0.9703433354519538,
'reg_lambda': 0.9949322422230866,
'max_depth': 9,
'min_child_samples': 26,
'num_leaves': 185,
'reg_alpha': 2.0268086933514935,
'subsample': 0.9657031906272966,
'subsample_freq': 1,
'learning_rate': 0.24476370705062717
}
clf = LGBMClassifier(**params)
clf.fit(X, y)
まとめ
パラメータ探索のコードをただ実装するとなっても、そこまで大変な作業ではないかもしれませんが
複数の探索手法、複数のアルゴリズムなどそれぞれ試すとなったら実装も面倒ですし、結果の管理も余計なコストがかかってしまうことでしょう
そんなときにノンコード、GUIで設定から実験管理まで行えるVARISTAのAutoTune機能が役に立つかもしれません。
普段はPythonで機械学習やっているからGUIツールは関係ない!って思っている方もぜひ一度試してみてはいかがでしょうか?