"태블로를 이용한 쉽고 빠른 데이터 시각화는 디포커스의 전문가(https://www.dataqrator.com)가 도와드립니다."

안녕하세요 여러분~^^ 디포커스 태블로 둥이입니다!

태블로 차트를 알아보는 여섯 번째 시간입니다.

오늘은 'TabPy 분석 확장 프로그램'을 알아보겠습니다.

1.Python 설치

하기의 링크로 접속하여 Linux Mac 또는 Windows용 최신 버전의 Python을 다운로드하여 설치합니다

Download Python | Python.org

Python Script를 사용하는 이유?

Python은 범용 프로그래밍에 널리 사용되는 고급 프로그래밍 언어입니다. Python 명령을 분석 확장 프로그램에 전송하는 방식으로, 고객 변동 예측이나 정서 분석 실행과 같은 작업을 수행할 수 있습니다.

2.TabPy 설치

Tableau Python 서버 = TabPy

하기의 링크로 접속하여 TabPy를 다운로드하여 설치합니다.

GitHub - tableau/TabPy: Execute Python code on the fly and display results in Tableau visualizations:

우측의 Code 버튼을 클릭해 Download Zip을 눌러 설치를 진행합니다

다운로드 된 Zip 파일을 압축을 풀어 저장합니다.

3.Anaconda 설치

하기의 링크로 접속하여 Anaconda를 설치합니다.

Anaconda | Individual Edition

설치 후 프로그램의 Anaconda Prompt를 관리자 권한으로 실행합니다.

4.Python pip 명령어를 이용한 패키지 설치

Prompt에 pip 명령어를 사용하셔서 해당 명령어에 대한 옵션을 확인 후

python -m pip install --upgrade pip를 입력하여 패키지 매니저를 최신버전으로 업그레이드합니다.

pip install tabpy 명령어를 사용해 tabPy설치를 진행합니다.

이후 pip install sklearn 명령어로 scikit_learn 패키지를 설치합니다.

설치 완료 후 ​tabpy 명령어를 사용해 해당 패키지가 이용하는 port등의 상세내역을 확인할 수 있습니다.

* pip : Package Manager로 Python에서 작성된 패키지 소프트웨어 설치 시 사용

** port 9904 : TabPy 기본 port 번호

*** pip install sklearn : 머신러닝을 위한 scikit_learn 패키지 설치

5.분석 확장 프로그램 구성

Tableau에서는 SCRIPT 함수 집합을 통해 분석 확장 프로그램에 연결할 수 있습니다.

SCRIPT 함수를 외부 서비스에 전달하기 전에 서비스에 대한 연결을 구성해야 합니다.

Tableau Desktop에서 상단의 도움말 > 설정 및 성능 > Analytics 확장 프로그램 연결관리를 선택합니다.

연결하려는 외부 서비스를 선택 (TabPy) 합니다.

도메인 또는 IP 주소를 사용하여 서버 이름을 입력하거나 선택합니다.

드롭다운 목록에 가장 최근에 연결된 서버 및 localhost가 포함되며 초기 설정 시 변경하지 않았다면 localhost 9004를 입력합니다.

이후 연결 테스트를 클릭하여 진행 후 저장하면 tableau python script를 사용할 수 있습니다.

* 서버가 SSL 암호화를 사용하는 경우 SSL 필요 옵션을 선택합니다.

Tableau Server는 운영 체제 키 저장소에 설치되어 있는 인증서를 읽고 보안 연결을 설정합니다.

6.Tabpy 활용 데이터 셋 설명

다음으로는 GermanCreditData.csv 를 사용하여 tabpy를 통해 고객의 대출 상환 여부 예측치를 나타내는 시각화를 진행해보겠습니다.

해당 데이터 셋은 대출을 요청한 은행 고객의 다양한 특징(예: 나이, 고용 상태, 개인 상태, 성별 등), 대출 상환 여부 등으로 구성되어 있습니다.

해당 데이터셋을 통해 시각화를 진행하기 위해 predictions.csv 파일을 이용합니다.

해당 데이터 셋은 GermanCreditData.csv을 학습시켜 어떤 고객들이 대출 상환을 기한 내에 할 수 있는지 여부를 시각화로 표현하게 됩니다.

머신 러닝 알고리즘의 경우 파이썬의 scikit-learn 라이브러리에서 찾을 수 있는 의사 결정 트리 분류를 사용할 것입니다.

추가적인 라이브러리는 링크를 참조하시어 사용하시길 바랍니다.

7.Tabpy 활용

새 워크북을 열어 Analytics 확장 프로그램 연결 관리의 TabPY와 연결해 줍니다.

Predictions.csv 파일을 tableau와 연결해 줍니다.

계산된 필드를 named Prediction 을 이름으로 하여 스크립트를 작성합니다.

※결정트리 알고리즘 스크립트 설명

*데이터의 기준을 세워 이를 사용하여 규칙을 작성해 효율적인 분류를 하는 알고리즘

SCRIPT_INT(" 스크립트의 결과를 정수로 반환

import numpy as np numpy 라이브러리 import

import pandas as pd pandas 라이브러리 import

from sklearn.tree import DecisionTreeClassifier sklearn.tree 라이브러리의 결정 트리 실습 모듈 import

data=pd.read_csv(r'C:\Users\SAMSUNG\Desktop\tabpy\GermanCreditData.csv') 학습시킬 .csv 파일 불러오기

X=data.drop(['ID','Class'],axis=1) X에 해당 csv.의 ID와 Class 칼럼을 제외한 나머지를 할당

y=data['Class'] Y에 해당 csv.의 Class 칼럼만을 할당

clf = DecisionTreeClassifier(random_state=2) 결정트리 알고리즘을 생성하고 학습의 결과과 변경되지 않도록 number 지정

clf.fit(X,y) 결정트리 알고리즘 학습

X_pred=np.transpose(np.array([_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,

_arg7,_arg8,_arg9,_arg10,_arg11,_arg12,_arg13, _arg14, _arg15,

_arg16, _arg17, _arg18, _arg19, _arg20])) 컬럼 값들 (답을 얻고 싶은 데이터들)을 numpy 행렬로 변환해 X_pred에 할당

 

pred = clf.predict(X_pred) X_pred 의 데이터들을 학습하여 예측한 결과를 pred에 할당

return pred.tolist( ) pred에 할당된 행렬을 list로 변환해 결과로 도출

",

SUM([Status of account]),SUM([Duration(months)]),SUM([Credit History]),

SUM([Purpose]),SUM([Credit amount]), SUM([Savings account/bonds]),

SUM([Employment]), SUM([Installment rate]), SUM([Personal status/sex]),

SUM([Debtors/Guarantors]), SUM([Residence since]), SUM([Property]),

SUM([Age]), SUM([Other installment plans]), SUM([Housing]),

SUM([Existing credits at bank]), SUM([Job]),

SUM([People liable to provide maintenance for]),

SUM([Telephone]), SUM([Foreign worker])) csv.의 칼럼 값들을 계산해 위의 배열에 할당

과는 다음과 같이 1 좋음, 2 나쁨 2가지로 나누어집니다.

고객별로 대출 상환여부를 보기 위해 Customer Id와 Customer Name을 행에 올리고 만든 계산된 필드를 마크의 모양에 올립니다.

해당 마크의 모양을 1은 초록색 체크 모양으로 2는 빨간 엑스 모양으로 편집하여 다음과 같은 화면을 만듭니다.

위의 화면처럼 체크 표시된 고객들은 대출 상환을 할 수 있는 고객으로 차후 대출 시 대출 허가 승인이 되는 고객들이며, 엑스표인 고객들은 대출 상환을 제때 할 수 없어 대출시 승인이 나지 않거나 주의해야 될 고객임을 알 수 있습니다.

지금까지 TABLEAU에서 확장기능을 통해 PYTHON을 이용한 딥러닝 사례에 대해 살펴보았습니다~!

그럼 다음 시간에 만나요!

"태블로를 이용한 쉽고 빠른 데이터 시각화는 디포커스의 전문가(https://www.dataqrator.com)가 도와드립니다."

 

+ Recent posts