はじめに
PyCaret を使った機械学習モデル作成を最近始めました。
とっても便利ですね✨
さて、ある分類問題を解くために、サブモデルとして複数のモデルを作成したくなり、
サブモデルは、回帰・分類 どちらもある という状況でした。
いざ作業すると、”分類問題” なのに回帰モデルを作ってくるではありませんか(´;ω;`)
この解決方法をまとめました。
※PyCaretの概要については、下記まとめ がとても参考になります!
https://qiita.com/Takumi_Fukuda/items/99e60793ac700974cfc4
結論
回帰問題 を解きたいときは、下記インポートを実行してから作業する。
from pycaret.regression import * #回帰のインポート
・・・
分類問題 を解きたいときは、下記インポートを実行してから作業する。
from pycaret.classification import * #分類のインポート
・・・
非常に、シンプルで簡単ですね!
コツは、何回でもインポートする ことです。
※その他ライブラリは、コード上部で一度インポートすればOKという認識だったので、まさか最後にインポートした方で、モデル作成されるとは思ってもみませんでした。
直面した問題
すでに機械学習モデルに投入できるように、カテゴリ変数を数字に変換した状態でした。
よって、サブモデルの正解データが {0,1,2,3} のようになっているが、あくまで分類問題として予測したかった。
一方、notebook上では、上の方から回帰モデルを作成してきており、最後にインポートしたのは「regression」の方・・・。 えぇ、回帰モデルの出来上がりです。
結論にたどり着くまで、
・正解データを文字型(str)にする ⇒ 数字として認識される。
・適当な文字を追加する。{A0,B1,C2,D3} ⇒ 数字としては認識されないが、相変わらず回帰モデル。
といった、試行錯誤の上、解決しました。
最後に
どなたかのお役に立てば幸いです!