pycaretに任意の評価指標を追加するadd_metricメソッドの調査


はじめに

pycaretで評価指標のloglossを使おうと思ったのですが、デフォルトではloglossが無かったので、追加する方法を調査しました。
以前まで、評価指標を追加することができなかったのですが、2020年10月のアップデート(version 2.2.0)で評価指標を任意に追加できるようになったようです。

環境とバージョン

  • PyCaret 2.2.0
  • Google Colaboratory

pycaretとは

pycaretとは、機械学習の前処理からモデリングまで自動でしてくれる機械学習ライブラリです。

デフォルトで使える評価指標

add_metricメソッドについて

add_metricメソッドを使用することで、scikit_learnで利用可能な任意の評価指標や、make_scorer関数を使用した独自の評価指標を扱うことができるようになります。

from pycaret.classification import add_metric
from sklearn.metrics import log_loss

add_metric('logloss', 'Log Loss', log_loss, greater_is_better = False)

add_metric()の引数の説明です。

  • id: 1つ目の引数
    • str型
    • 評価指標のID
  • name: 2つ目の引数
    • str型
    • 評価指標を表示する際の名称
  • score_func: 3つ目の引数
    • type型
    • 追加したい評価指標
      • 今回の場合は、sklearnから引っ張ってきたlog_lossを入れています
  • greater_is_better: 4つ目の引数
    • bool型
    • デフォルト=True
    • score_funcが数値が高いほうが良い指標なのか、低いほうが良い指標なのかを表します。
      • Trueでは高いほうが、Falseでは低いほうが良いということになります。

では、再度評価指標を確認してみます。

無事にloglossを追加することできました。

参考サイト