Alteryx謹製の動的ダッシュボード作成ツールFlightDeckを使ってみる(回帰分析メトリックス編)

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、小澤です。

先日、Rで機械学習モデルのダッシュボードを作成できるFlightDeckというものを紹介しました。

今回は、FlightDeckで利用可能なパーツして回帰分析関連のものを紹介したいと思います。

利用できるもの

では、どんなパーツが存在しているのか見てみましょう。

動きを確認するために、まずは簡単な回帰モデルを作成しておきます。

model <- lm(mpg ~ ., data = mtcars)
predicted <- predict(model)

回帰モデルに利用可能なパーツには、モデルそのものをわたすものと、正解の値と推論結果の比較をする処理のものがあるため、推論結果も取得しておきます。

では、ここから利用可能なものを見ていきます。

推論結果の散布図

fdPanelRegressionScatterplotを使うと、正解値と推論値でプロットした散布図を確認できます。

fdPanelRegressionScatterplot(mtcars$mpg, predicted) %>%
    fdPreview()

結果は以下のようになります。

横軸が正解の値、縦軸が予測値としてプロットされています。 また、対角線上に引かれた直線は理想的な結果(全て完璧に正解してれば完全にこの上に乗る)となり、そこからの外れ具合で残差がどの程度になっているかも確認できます。

評価指標の確認

続いては、fdPanelRegressionMetricsです。 これは、数値として各種指標を確認するためのものになります。

fdPanelRegressionMetrics(mtcars$mpg, predicted) %>%
    fdPreview()

結果は以下のようになります。

残差の分布

fdPanelRegressionResiduals関数を使うことで、残差の分布をヒストグラムで確認できます。

fdPanelRegressionResiduals(model, plotTitle = "Residuals") %>%
    fdPreview()

plotの結果

fdPlotsRegressionDiagnosticsでは、lm関数をplotした時の4つグラフをインタラクティブに生じしてくれます。

fdPlotsRegressionDiagnostics(model) %>%
    fdPreview()

説明変数の重要度

最後に紹介するfdPanelCoefficientsでは、係数の値と重要度を確認できます。

fdPanelCoefficients(model) %>%
    fdPreview()

ダッシュボートに組み込む

さてこれらのパーツをダッシュボードの中に組み込んでみましょう。 前回はInfoBoxを使った際には、fdRowの引数として、fdInfoBoxを与えていました。

今回登場したようなパーツはfdRowBoxを使って配置します。

fdRowBox(fdPanelCoefficients(model), width = 12) %>%
  fdPreview()

widthではBoxの横幅を設定します。 この値は最大値が12で、横幅全体の相対値として指定します。 width = 12であれば、100%, width = 6であれば50%のようになります。

一行の中に複数項目を入れたい場合は、fdColumnを利用します。

box <- fdRowBox(width = 12,
    fdColumn(8, fdPanelRegressionScatterplot(mtcars$mpg, predicted)),
    fdColumn(4, fdPanelRegressionMetrics(mtcars$mpg, predicted)))
box %>% fdPreview()

fdColumnは第一引数にRowBox内のwidthの値のうちどの割合を占めるかを指定しています。 上記では全体で12に対して、散布図が8, 指標が4となるように配置しているので、以下のような表示となります。

あとは、fdBoxと同様にfdPageの引数に指定することで、1つのページとして完成します。

page <- fdPage(row1, row2, box, id = 'page', display=TRUE)

fdBoard(
  fdHeader(title = "Regressionだよ"),
  fdSidebar(),
  fdBody(page)
)

おわりに

今回は、FlightDeckの回帰分析に関する指標を表示する方法を紹介しました。

FlightDeckにはまだまだ他の機能も存在していますよ!

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400