Tabpy – Tableau + Python 連携 を使ってみよう!(線形単回帰分析)

投稿者:

今回はTableau + Python 連携を使って線形単回帰をやってみたいと思います。

 

■ ボストンのデータを読み込みTableauで確認する

 

まず、UC IrvineのリポジトリからBostonの住宅価格に関するデータをダウンロードします。

まずはTableau でざっくり可視化してデータの概要を把握します。

散布図を描いてみましょう。

どうやら住宅価格(Price)と平均部屋数(RM)がに正の相関関係がありそうです。

 

 

■ 単回帰モデルを作成し傾向線を引く

 

Tableau からPython のスクリプトを呼び出して、

住宅価格を平均部屋数から予測する線形回帰のモデルを作成し、予測値から傾向線を引いてみましょう。

計算式 ”@住宅価格予測Python” を作成します。

Tableau から 住宅価格と平均部屋数を入力とし、線形回帰のモデルを作成し

予測値を返します。

————————————–

SCRIPT_REAL(

# Read numpy and pandas

import numpy as np

import pandas as pd

# Read sklearn.linear_model.LinearRegression

import sklearn

from sklearn.linear_model import LinearRegression

# Read data from Tableau

X = np.array(_arg1)

Y = np.array(_arg2)

X = X.reshape(-1,1)

#Fit Linear Regression Model

lreg = LinearRegression()

lreg.fit(X,Y)

pred = lreg.predict(X)

# Convert to list format and return to Tableau

return pred.tolist()

‘,

SUM([RM]), SUM([Price])

)

————————————–

+ 平均部屋数(RM)を列に、住宅価格(Price)を行に、@HousingPricePredict-Python を行にドラッグします。

+ @HousingPricePredict-Python の表示形式を線に変更します。

+ 2重軸を設定し散布図と回帰線を重ねます。これでPythonによって傾向線をかくことができました。

たとえば、線形回帰線から大幅に外れるデータを範囲選択してグループ化することができます。

この外れ値のグループについて、どのような特徴があるのかを、散布図上で色分けして確認することができます。

もうひとひねりして、Tableauらしさを出してみましょう。

例えばLstatを色に、Crimを大きさにドラッグしてみます。

表現がより豊かになりました。大きな丸、オレンジ色の丸が左下にあることから、

犯罪率が高い地域では部屋数が少なく、住宅価格も低いという傾向が見れそうです。

 

Python連携を実装したTableauワークブックはこちらからダウンロードできます。

 

 

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です