いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【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を回した(下図)。左の表は入力データ。

f:id:choron81:20220101161200p:plain

・なお、pycaretに関しては、以下を参考にした。詳細はそちらを確認して欲しい。

pycaret.org

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

・出力されたモデルのランキングは以下の通り。

f:id:choron81:20220101161515p:plain

・ぱっと見Extra Trees Regressorが良さそう。RMSEをバーチャートで図示すると以下のような感じ。

f:id:choron81:20220101170419p:plain

 

終わり。