【KNIME】回帰分析に適用するモデルを決めたい(Pycaret)
・教師あり学習に使うモデルを決めるために、PythonのライブラリPycaretをKNIMEで実行してみた。
・まず、先日作成したPythonの仮想環境にPycaretを入れようとインストールしようとしたが、上手くいかなかった。
・knimeenvを作成した際にconda create -n knimeenv python=3.9を用いたが、どうも3.9だと駄目らしい。新たに、knime3.7という仮想環境を作成した(conda create -n knime3.7 python=3.7)。
・activate knime3.7で仮想環境をactivateしたあと、pip install pycaretでpycaretをインストールし、pip listでインストール済パッケージを確認した。
・次に、学習させたいデータ(以前も扱ったBoston家賃問題)をpython scriptに放り込み、pycaretのcompare_modelsを回した(下図)。左の表は入力データ。
・なお、pycaretに関しては、以下を参考にした。詳細はそちらを確認して欲しい。
・Python Scriptの中身は以下の通り。compare_models()で計算されるモデルのランキングを、pandasのDataFrameにしないとoutput_table_1として出力できない。
import pandas as pd
from pycaret.regression import *
data=input_table_1
test=setup(data,target="MEDV",ignore_features=None,silent=True)
Ranking = compare_models()
results = pull()
results.Model.tolist()
output_table_1 = results
・出力されたモデルのランキングは以下の通り。
・ぱっと見Extra Trees Regressorが良さそう。RMSEをバーチャートで図示すると以下のような感じ。
終わり。