今回はオープンソースのAutoMLツールであるPyCaretについて記事にしていきたいと思います。
【本記事でわかること】
- AutoMLツール”PyCaret”の概要
- 自動化されている機能例
- 有料ツールとの比較
AutoMLツール ”PyCaret”とは?
PyCaretとは、機械学習ワークフローを自動化するPythonのオープンソースライブラリです。
今はやりのバズワードとなっている”ローコード開発”が可能な機械学習ライブラリです。
オープンソースなので無料で利用でき、かつ超簡単に機械学習モデルを作成できる代物となっております。
AutoMLという言葉も近年バズワードとしてその名をよく耳にするかと思いますが、その名の通り自動でML(Machine Learning)の予測モデルを作ってくれるフレームワークです。
AWSのSageMakerやDataRobotに代表されるようなAutoMLですが、その発展は凄まじくどんどん便利になっていきます。
PyCaretの登場により、「ついに無料でこのクオリティのものがでてきたか…」とデータサイエンティストの端くれとしては戦々恐々としております。
近い将来、AutoMLはどんなソフトにも標準搭載になり、データサイエンティストなんて名前の職業は姿を消す日がやってくるかもしれません。
さて、そんな未来の話よりも今は最先端の素晴らしい技術を見ていきましょう!
ここが凄い!PyCaret
何といっても、PyCaretの凄いところはわずか数行で機械学習モデルが複数作れてしまうところです。
以下のようにデータさえればライブラリのインポート含めて2行でモデリングが完了します。
from pycaret.classification import *
s = setup(data, target = 'Class variable')
1行目はライブラリのインポートなので実質1行でモデル作成が可能です。
データを用意して、ターゲットを指定する。それだけです。
本来必要となるデータの前処理とか、学習用と評価用とにデータを分ける作業、そしてモデルのハイパーパラメータの調整や、そもそもどのアルゴリズムを使えばよいのかとか、そういうのもすべて自動で選択してくれます。
PyCaretは具体的に以下の工程を自動実行してくれます。
【データ前処理】
- 欠損値保管
- 各種エンコーディング(One-Hot、Ordinal等)
- 予測時の新規カテゴリデータへの対応
- 学習データからの外れ値除去
【スケールとトランスフォーム】
- 正規化(ノーマライゼーション)
- スケーリング
【特徴量エンジニアリング】
- 変数同士の掛け算(a*b)
- 変数同士の割り算(a/b)
- グループの統計量作成
- ビニング
- クラスターラベル付け
【特徴量選択】
- フィーチャーインポータンス
- PCA
※データ前処理でやってくることの詳細はこちら⇒ドキュメント(英文)
【モデリング】
- 初期設定
データセットの読み込み、予測ターゲットの指定 - 学習
各種アルゴリズムを用いた予測モデル作成。精度評価はCVが行われる - 最適化
選択されたモデルのチューニング - 分析
モデルインサイト(二値分類のAUCプロット、誤差のプロット、異常検知等) - デプロイ
作成したモデルの保存、パイプライン作成、pickleファイルへのエクスポート、AWSへの書き出し等
めちゃくちゃ便利すぎて、私自身改めて驚きながら記事を書いています。
有料AutoMLツールとの比較
私が過去に使ったことがあるDataRobot(有料)と比較してみたいと思います。偏見が混じっている可能性があります。
特徴 | PyCaret | DataRobot |
価格 | 無料 | 高額 |
操作 | Python | Webブラウザ |
GUI | 多少あり | フルGUI対応 |
処理時間 | PC依存 | ライセンス依存 |
対象者 | 中級者~上級者 | 初心者~上級者 |
DataRobotoと比較して未実装な機能 |
|
ー |
正直、有料のAutoMLツールはどれも価格が高く、個人で趣味で使うには手が出せないものばかりでした。
そんな中登場したPyCaretは非常にコスパがよく、使いやすいツールになってます。
有料、無料それぞれ良いところ悪いところはあると思いますが、これからデータ分析を勉強される方にとってはPyCaret一択なのではないでしょうか。
まとめ
- 率直な感想としてはとんでもないツールが出てきてしまった、、、と思う所存です。
- モデリング結果をグラフィカルに出力する機能も豊富にあるので説明性が高く、分析ツールとしても優秀です。
- 機械学習のハードルを恐ろしいほど下げてくれるツールであること間違いないです。
- 今後実装予定の時系列対応も要チェック!
コメント