Alteryxの回帰ツール(線形回帰、ガンマ回帰、ポアソン回帰、ロジスティック回帰)では回帰式が作られますが、この係数はHTML形式のレポートから作られるためこれを抽出するのは大変です。
Alteryx CommunityのGalleryでは、これを取得するためのマクロがあるため紹介します。
モデル係数マクロ(Model Coefficients)
ダウンロードはこちら。
スコアリングツールを使うことで、モデルの係数を取得する必要はないのですが、係数が取得できれば簡単に(そして高速に)計算できるのも事実です。
Alteryxとしては、Rツールを使ったマクロの良いサンプルとしてこのマクロを提供しています。
まずは実行してみる。
線形回帰ツールのサンプルワークフローを実行すると、以下のようなレポートが得られます(係数部分だけ抽出)。
このEstimateの部分をテーブル形式でデータとして取得するのがこのマクロの役割です。
実際に線形回帰ツールのサンプルワークフローに以下のように繋いでみます。基本的にはモデル出力(O出力)に接続します。
これにより以下のような結果が得られます。
無事に欲しい物が抽出できています。
マクロの中身を見てみる。
実際にマクロを開くと以下のような非常にシンプルなワークフローとなっています。
中身のRコードは以下のような感じです。
the.model <- read.Alteryx("#1")
if (!all(names(the.model) %in% c("Name", "Object")))
stop.Alteryx("A model object was not provided")
mod.obj <- unserializeObject(as.character(the.model$Object[1]))
if (!is.null(mod.obj$coefficients)) {
the.coefs <- mod.obj$coefficients
write.Alteryx(data.frame(Variable = names(the.coefs), Coefficient = the.coefs))
} else {
stop.Alteryx(paste("A model of class", class(mod.obj)[1], "does not have coefficients"))
}
予測カテゴリのツールはRベースのマクロではありますが、あまりにも複雑なため、このようなシンプルなサンプルがあると自力でRベースのマクロも作りやすくなると思います。
まとめ
- モデル係数マクロを使うことで、回帰式を持つ予測ツールの係数を簡単に取得できました
- 適用できるのは、回帰式を持つ線形回帰、ガンマ回帰、ポアソン回帰、ロジスティク回帰のみです
- Rベースのマクロを作る際のサンプルとして利用可能です
コメント