はじめに
PyCaretは機械学習のワークフローを自動化するオープンソースです。最近気になり調べているのですが、公式ドキュメントや使ってみた系の日本語の記事もいくつかあるものの、全体としてできることがちょっと分からずにいました。
そこで、公式ドキュメントの説明をもとに、各モジュールのAPIを整理して全体の雰囲気を掴んでみることにしました。
注意点など
-
公式ドキュメントをもとに、各モジュールについてメソッド名を拾っていき、ドキュメントに存在したものについて
〇
を付与しています。 - PyCaretのドキュメントのversionは2022/3/21時点のlatestです。
- GitHubによるとv2.3.8です。
- 実際にすべての機能を利用したわけではなく、認識に誤りがある部分があるかもしれません。気づいたらご教示ください。
PyCaretのAPI一覧
api | pycaret.classification | pycaret.regression | pycaret.clustering | pycaret.anomaly | pycaret.nlp | pycaret.arules | pycaret.datasets |
---|---|---|---|---|---|---|---|
setup | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | |
compare_models | 〇 | 〇 | |||||
create_model | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | |
tune_model | 〇 | 〇 | 〇 | 〇 | 〇 | ||
ensemble_model | 〇 | 〇 | |||||
blend_models | 〇 | 〇 | |||||
stack_models | 〇 | 〇 | |||||
assign_model | 〇 | 〇 | 〇 | ||||
plot_model | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | |
evaluate_model | 〇 | 〇 | 〇 | 〇 | 〇 | ||
interpret_model | 〇 | 〇 | |||||
calibrate_model | 〇 | ||||||
optimize_threshold | 〇 | ||||||
predict_model | 〇 | 〇 | 〇 | 〇 | |||
finalize_model | 〇 | 〇 | |||||
deploy_model | 〇 | 〇 | 〇 | 〇 | |||
save_model | 〇 | 〇 | 〇 | 〇 | 〇 | ||
load_model | 〇 | 〇 | 〇 | 〇 | 〇 | ||
automl | 〇 | 〇 | |||||
pull | 〇 | 〇 | 〇 | ||||
models | 〇 | 〇 | 〇 | 〇 | 〇 | ||
get_metrics | 〇 | 〇 | 〇 | ||||
add_metric | 〇 | 〇 | 〇 | ||||
remove_metric | 〇 | 〇 | 〇 | ||||
get_logs | 〇 | 〇 | 〇 | 〇 | 〇 | ||
get_config | 〇 | 〇 | 〇 | 〇 | 〇 | ||
set_config | 〇 | 〇 | 〇 | 〇 | 〇 | ||
save_config | 〇 | 〇 | 〇 | 〇 | |||
load_config | 〇 | 〇 | 〇 | 〇 | |||
get_leaderboard | 〇 | 〇 | |||||
dashboard | 〇 | 〇 | |||||
convert_model | 〇 | 〇 | |||||
eda | 〇 | 〇 | |||||
check_fairness | 〇 | 〇 | |||||
create_api | 〇 | 〇 | |||||
create_docker | 〇 | 〇 | |||||
create_app | 〇 | 〇 | |||||
get_clusters | 〇 | ||||||
get_outliers | 〇 | ||||||
get_topics | 〇 | ||||||
get_rules | 〇 | ||||||
get_data | 〇 |
所感
- チュートリアルやブログ記事では
setup
~predict_model
を中心とした基本的な機能について取り上げているものが多く、それだけでもすごいと思っていたのですが、そのほかにも気になる機能が実装されていることに気づきました。-
automl
は、現在のセッションにあるモデルから最良のものを選んで返してくれるみたいです。compare_models
も近い機能のように思いますが、最適化したいメトリクスを1つ選ぶという点が違いでしょうか。 - バイアスや公平性といったワードも昨今のAIや機械学習の分野では注目されるポイントですが、
check_fairness
という機能も用意されているようです。 -
deploy_model
やcreate_docker
のように、モデルのデプロイをサポートする機能もあるようです。
-
- 大きく分けて教師あり/教師なしで実装されている機能が異なり、実際に使う時にはどれがどれにあったっけ?と混乱することが多いのですが、こうやって全体として眺めてみると少し整理できた気がします。