본문 바로가기
Tableau 흡수내용

[태블로(Tableau)] Tabpy 연동하기 - Tabpy_2

by Mr.noobiest 2022. 5. 6.

과정

1) Tabpy 서버 실행하기

2) Tabpy 서버 실행 후 태블로에서 해당 서버와 연동해주기

3) 원하는 Python 코드를 Script_XXX() 내장함수로 실행하기

4) 결과들을 가지고 데이터 시각화 하기

 

 


 

 

사용할 데이터 셋 (Iris())  from sklearn.datasets import load_iris

사용할 분석기법 DBSCAN(밀도 기반 클러스터링) -> from sklearn.cluster import DBSCAN

 

 

 

DBSCAN이란?

eps=거리값, min_samples=n값

eps만큼의 반경안에 n개의 값으로 이루어진 군집을 의미한다.

쉽게 말하면 그래프상에 찍혀있는 여러개의 점들이 모여있는 정도에 따라 구분해놓은것

 

k-means 클러스터링의 경우에는 거리에따라 구분하느라 군집을 표현할때는 DBSCAN이 더 좋은것 같다.(주관)

 

 

 

1. 일단 Jupyter Notebook을 기준으로 실행하겠다.

pip install tabpy

 

1-1) 설치 후 콘솔창에 >tabpy를 실행하면 서버가 자동으로 실행된다.

 

1-2) 인터넷 주소창에 아래와 같이 쳐주면 실행된 서버의 기본 페이지가 출력된다. (localhost:9004)

 

1-3) 서버가 실행되어 있는 상태에서 별도로 콘솔창을 실행해주고 아래 실행문을 실행해준다.

>tabpy-deploy-models

 

1-4) localhost:9004을 다시 실행해주면 아래와 같이 되어있을 것이다.

tableau tabpy page

 

 

이제 Tabpy 서버 실행은 완료되었다(태블로에서 해당 모델들을 사용코자 한다면 서버를 유지해줘야한다.)

 


 

2) Tabpy의 실행방법은 2가지가 있다.


방법1) Python을 사용해서 모델을 생성 > 학습 > 학습이 완료된 모델을 함수 형태로 Tabpy 서버에 업로드(Deployed Models) > 태블로에서 실행

 

방법2) 서버는 그냥 실행만 시켜놓고 Script_XXX()를 사용해서 모델링부터 전부 실행하기

 

요약 : 방법1==미리 모델링하기 , 방법2==모델링부터하기

 

이번엔 방법1을 기반으로 해볼것이다(이유 : 모델링은 보통 태블로 담당자가 아니라 데이터 모델러가 하는일이라, 이미 완성되어있는 모델링이 있을것이다 == 학습하는데 소요되는 시간을 최소화 할수있다.)

 

1줄 요약 : 빅데이터(1억건 이상)에 대한 모델의 학습에 걸리는 시간이 매우 크므로, 태블로에서 바로 실행하는 방법2는 부적절하다.

 


 

2-1) Python 코드

import pandas as pd
from sklearn.datasets import load_iris

iris = load_iris()

labels = pd.DataFrame(iris.target)
labels.columns=['labels']
data = pd.DataFrame(iris.data)
data.columns=['Sepal length','Sepal width','Petal length','Petal width']
data = pd.concat([data,labels],axis=1
728x90
반응형