TabPyによるk-meansクラスタリング
本記事では、TableauのTabPyを用いたk-meansクラスタリングを取り上げたいと思います。
TableauとPythonの連携環境(TabPy)構築は、こちら。
データ
今回はサンプル・データとして、「Wine recognition data」を用いました。
サンプル・コード
本コードでは、データセットに含まれる13個の説明変数の内、5個の説明変数(Total phenols, Flavanoids, Color intensity, Hue, Proline)を用いてクラスタリングした後、クラスタIDをTableauの計算フィールドにINT型で渡しています。
SCRIPT_INT('
import pandas as pd
from sklearn.cluster import KMeans
tp = pd.DataFrame(_arg1)
fl = pd.DataFrame(_arg2)
ci = pd.DataFrame(_arg3)
hu = pd.DataFrame(_arg4)
pr = pd.DataFrame(_arg5)
array = pd.concat([tp, fl, ci, hu, pr] , axis=1)
model = KMeans(n_clusters = '+ str([number of clusters]) +')
pred = model.fit_predict(array)
return pred.tolist()
',
SUM([6) Total phenols]), SUM([7) Flavanoids]), SUM([10) Color intensity]), SUM([11) Hue]), SUM([13) Proline])
)
図表1:スクリプトの入力例
