"태블로를 이용한 쉽고 빠른 데이터 시각화는 디포커스의 전문가(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)가 도와드립니다."

 

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

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

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

오늘은 '블렌딩&와플차트'를 알아보겠습니다~!

블렌딩은 태블로에만 있는 데이터를 가공하는 방법이라고 이해하시면 됩니다.

기본적인 데이터 형태 가공은 ‘Join’ 형태가 있는데,

이 경우에는 데이터에서 이미 가공을 하고 데이터를 갖고 오게 됩니다.

▶JOIN(데이터 편집)

블렌딩은 각각의 데이터를 갖고 와서 주 데이터 기준으로 공통의 데이터를 집계하는 형태를 말합니다.

▶블렌딩 (워크시트 화면)

각각의 데이터를 갖고 와서 주 테이블의 특정필드(지역)에 집계의 단위를 맞추고 결합시키는 것입니다.

블렌딩은 물리적으로 데이터를 붙이지 않고, 하나의 화면에 두 테이블이 붙어 있는 듯하게 보여지는 것입니다.

본 실습에 데이터는 Tableau에서 기본적으로 제공하는 Sample 슈퍼스토어 - 주문 시트와플 차트를 만들기 위해서 가공된 데이터 SET를 갖고 와서 만들도록 하겠습니다.

*Tableau Desktop 버전에 따라 슈퍼스토어에 데이터 값이 상이할 수 있습니다.

Waffle dataset은 1%를 칸으로 표현하기 때문에 각 항목을 5줄로 표현하고 칸을 100개를 만든 데이터가 필요합니다.

Sample 슈퍼스토어에 주문 시트 추가 후 위에서 만든 가공된 Data Set도 갖고 와줍니다.

블랜딩을 이용하여 와플차트를 만들기 위해 데이터에 혼합관계 편집(블랜딩)을 해줍니다.

*Tableau 버전마다 Blending을 의미하는 한글 표현은 상이할 수 있음, 편집 위치는 동일함.

혼합 관계 편집을 이용하여 슈퍼스토어 Data와 가공한 와플 차트 Data 의 대분류로 맵핑 시켜줍니다.

대분류 별 수익율을 와플 차트로 만들기 위해 수익율 계산식을 만들어 줍니다.

상단의 데이터에서 슈퍼스토어-샘플 클릭 후 계산식을 이미지와 같이 작성 후 확인을 누릅니다.

수익율 계산식을 만든 후 데이터에 SHEET1을 클릭하여 수익률이 Percentage보다 큰 부분만 표시할 수 있도록 계산식을 만들어둡니다.

혼합 관계 편집을 이용하여 슈퍼스토어 Data와 가공한 와플 차트 Data 의 대분류로 맵핑 시켜줍니다.

측정값 집계가 되어있는 것을 선택 해제 하게 되면, 칸으로 쪼개지면서 각 항목에 맞게 막대처럼 생기게 됩니다.

대분류의 색상 마크를 넣게 되면 대분류 별로 색상이 달라지는 것이 보이게 됩니다.

위에 만들었던 값 범위에 대한 항목을 색상에 넣게 되면 ‘참,거짓’으로 값이 나뉘게 되고 거짓인 부분은 하얀색으로 표시가 되지 않도록 만들어줍니다.

위에 색상에 값을 넣은 것을 확인하게 되면 아래와 같이 각각 자기의 %만 표시가 되는 것을 확인할 수 있습니다.

차트 위에 항목 이름과 수익률(%)를 표시하기 위해서 레이블에 넣고 표시하면 되는데, 자동으로 하게 되면 모든 항목에 값이 표시되므로 값 표시 계산식을 만들고 필드에서 값 표시를 선택해주시면 됩니다.

그럼 아래와 항목과 수익률%가 하나만 값이 표시 되는 것을 볼 수 있습니다.

마크의 크기를 중간 사이즈로 하게 되면 공간이 있던 부분이 꽉 채워져서 표현되게 됩니다.

마크의 색상에서 테두리 색상을 선택하게 되면 칸 별로 나눠서 표현되게 됩니다.

오늘은 순서대로 와플 차트를 만드는 방법을 소개해봤습니다.

그럼 다음 시간에 만나요~!

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

 

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

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

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

이번엔 태블로에 '사용자 지정색상'을 만들어 보겠습니다.

자주 사용하는 색상이나 기업을 상징하는 색상을 미리 등록하여 편하게 사용할 수 있습니다.

먼저 “C:\Users\USER\Documents\내 Tableau 리포지토리”

위의 경로에 “Preferences.tps" 파일을 메모장과 같은 편집프로그램을 이용하여 실행시켜 주세요.

“Preferences.tps“ 파일을 처음 열어 보신다면 아래처럼 텍스트가 되어있을 거에요.

저희는 이 파일에 나만의 색상으로 수정해보겠습니다.

작성에 앞서 3가지 유형의 사용자 지정 색상표를 만들 수 있습니다.

1. 범주형 색상표 (regular)

2. 단일 색상표 (ordered-sequential)

3. 다중 색상표 (ordered-diverging)

1.범주형 색상표

2.단일 색상표

3.다중 색상표

범주형 색상표는 차원과같은 불연속 필드에 자주 쓰이고

단일, 다중 색상표는 연속형 측정값을 그라데이션으로 색상 표현에 자주 쓰입니다.

이어서 모양을 등록하는방법을 알려드리도록 하겠습니다.

마크에 모양차트를 선택하면 모양표 선택을 하실 수 있습니다.

아래의 이미지를 보시면 “화살표”라는 모양표 안에 다양한 화살표 들이 담겨있는 것을 알 수 있는데 “화살표”라는 폴더에 다양한 이미지 파일들이 들어있다 라고 생각하시면 될 것 같습니다.

이러한 모양표를 만들기 위해서 준비해야 할 것은 이미지인데요..

https://newsis.com/view/?id=NISX20210302_0001355432

저는 위의 기사를 보고 1월의 스마트폰 시장점유율을 시각화 해봐야겠다고 생각하여

삼성전자, 애플, 샤오미, 오포 기업의 로고를 다운로드 받았습니다.

저장 위치는 “C:\Users\USER\Documents\내 Tableau 리포지토리\모양”에 들어가서

Logo라는 폴더를 만들어 이미지를 저장하였습니다.

저장이 되었다면 태블로로 돌아와서

모양을 보시면 Logo라고 생겼으며 제가 저장한 이미지들이 나타납니다.

만약 없다고 한다면 “모양 다시 로드” 버튼을 눌러주시면 나타납니다.

이상으로 사용자 색상과 모양표를 만들어 보았으며 앞으로 자주 쓰이는 색상과 분석에 많이 쓰이는 이미지를 사용하여 가시성있는 대시보드를 구현하는것도 좋은 방법이라 생각됩니다.

다음에 또 만나요~!

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

 

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

 

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

 

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

오늘은 라인 매트릭스를 알아보겠습니다~!

라인매트릭스는 매개변수 및 인덱스를 이용하여 행, 열 개수에 맞게 그래프를 만들 수 있는 것을 말합니다.

Tableau에서 만들어지는 막대 차트는 행 이나 열을 선택하여 하나의 기준으로만 나타내는 것을 기본으로 합니다.

하지만 이러한 차트는 단순하며 차원이 많을 시 복잡하게 보이는 단점이 있습니다.

이러한 경우 라인매트릭스를 이용한 차트 구성은 디자인적으로 세련된 느낌을 줄 수 있습니다!

▶라인매트릭스 작동 설명1)가로 라는 매개변수를 활용하여 선택한 값을 기준으로 가로에 차원 수를 나타냅니다. (총 17개에 [Sub-category]를 기준으로 3칸을 선택 시 3*6 형태로 그래프를 나타냅니다.) 2) 또한 왼쪽부터 [Sub-Category], [Sales], [Profit]를 나타냅니다.

본 실습에 데이터는 Tableau에서 기본적으로 제공하는 Sample 슈퍼스토어 - Orders 시트를 이용합니다.

*Tableau Desktop 버전에 따라 슈퍼스토어에 데이터 값이 상의할 수 있습니다.

1. 칸 수를 지정할 수 있는 매개변수를 만들어 줍니다.

1) 역삼각형을 클릭하여 ‘매개 변수 만들기’ 를 선택하여 줍니다.

2) 매개변수 만들기 창에서 아래와 같이 지정하여 만들어 줍니다.

2. 행과 열에 기준이 되는 계산식을 만들어 줍니다.

1) 역삼각형을 클릭하여 ‘매개 변수 만들기’ 를 선택하여 줍니다.

2)아래와 같이 [행번호], [열번호] 라는 이름으로 계산식을 만들어 줍니다.

* 계산식이 이해 안되도 우선 만들어 주세요.

3. 계산식으로 만든 [행번호], [열번호] 및 [Sales], [Profit]을 아래와 같이 올려주세요.

1)측정값 (연두색) 으로 되어 있는 필드를 오른쪽 클릭하여 불연속형 (파랑색) 으로 변환하여 줍니다.

2)이후 기준이 되는 [Sales], [Profit]을 측정값 그룹 형태로 지정하여 올려주세요.

* [열번호], [행번호] 동일하게 지정

 

4. [Sub-Category]를 텍스트로 올리기 위해 [레코드 수]를 같이 올려줍니다.

1)[레코드 수]를 올려준 다음 default로 지정되는 합계를 최대값으로 변경하여 줍니다.

2)이후 측정값과 최대(레코드 수)를 이중축으로 지정하여 줍니다.

5. 마크에 그룹이 되는 측정값 및 최대(레코드 수) 쪽을 설정하여 줍니다.

1) 마크에 측정값 기준에서 세부정보에 [Sub-Category] 추가

2) 최대(레코드 수) 쪽에 텍스트에 [Sub-Category] 추가

* Sub-category에 텍스트가 겹쳐집니다.

6. [행번호], [열번호]에 테이블 계산 편집을 해줍니다.

1)올라가 있는 [열번호] 오른쪽 클릭 후 테이블 계산 편집에서 아래와 같이 적용

2)[행번호]도 [열번호]와 동일한 기준으로 적용시켜 줍니다.

* 설정 후 바로 적용되는 걸 확인 가능

7. 설정 후 아래와 같이 라인매트릭스가 만들어지며 [기준] 매개변수를 활용하여 조절이 가능합니다.

* 4칸 설정 시 4*5 로 변경

 

8. 완성 후 다시 돌아와 [행번호], [열번호] 계산식을 확인해보면 원리는 아래와 같습니다.

Index는 테이블 계산 에서 지정한 기준에 따라 달리 지는데 특정 차원에 [Sub-Categoey]를 기준으로 하였으므로 Index는 [Sub-Category]에 총 개수인 17로 인식됩니다.

*[기준] 값을 4로 설정 시 4*5 개로 라인매트릭스가 형성 됩니다.

*Index가 17이므로 (17-1) % 4 가 되므로 [열번호] 에 리스트는 0, 1, 2, 3 인 4개가 됩니다.

*Index가 17이므로 (17-1) / 4 의 정수 값이므로 [행번호] 에 리스트는 0, 1, 2, 3, 4인 5개가 됩니다.

오늘은 Tableau 차트 중 '라인매트릭스'에 대해 알아보았습니다.

기본적으로 제공하지 않는 차트라 만드시는데 어려우실수도 있는데요~

특히 index라는 개념은 라인매트릭스 외에도 다방면으로 사용하는 함수라 알아두시면 작업하는데 있어 큰 도움이 되시리라 생각됩니다.

그 외에도 다양한 함수 사용법은 아래 왼쪽처럼 검색이 가능하니 직접 찾아보고 실습해보시면 좋을 거 같습니다~

그럼 다음시간에 만나요~

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

 

 

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

안녕하세요~ 디포커스 태블로 둥이입니다 *^^*

 

오늘은 트리맵을 알아보겠습니다. 조금 생소하시지용? 바로 이것입니다!!!

각각에 중분류 매출에 대한 크기를 직사각형으로 표현하였습니다.

 

이처럼 트리맵이란,

차원값 기준으로 측정값을 직사각형 크기로 나타낸 것입니다.

 

위 그래프를 가지고 좀 더 자세하게 만들어 볼까요?

 

맨 처음 그래프를 세그먼트 별로 나누었고 한 눈에 보기 쉽게 순위값과 매출값을 동시에

출력하게 하였습니다.

 

그럼 다른 차원 값을 기준으로 만들어 볼까요?

연도별로 나누고 매출의 크기를 월별로 나눠서 색으로 표현했고 월별 매출 크기를 직사각형으로 표현했습니다.

 

데이터의 서로 다른 부분이 전체와 연결되는 방법을 한 눈에 확인하는 방법이 트리맵이었습니다.

 

다음에는 어떤 차트가 기다리고 있을까요~? *^^*

 

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

+ Recent posts