Data Science 39

[논문 리뷰] Helical time representation to visualize return-periods of spatio-temporal events(2017)

최근에 카카오톡에서 if라는 온라인 세미나?를 진행했었는데 그중 "이상 거래 탐지를 위한 실시간 데이터 처리와 금융사기 행동 분석"이 흥미로워 비슷한 컨셉의 논문을 찾아 공부해보았습니다. if.kakao.com/session/82 if(kakao)2020 오늘도 카카오는 일상을 바꾸는 중 if.kakao.com 카카오페이에서는 이상 거래를 탐지하기 위해 사용자의 과거의 행적을 사용한다고 합니다. 하지만 사용자의 데이터는 시간/날짜/액션이 있는데 이러한 데이터를 테이블 형식으로 보고 이번에 실행된 거래가 이상 거래인지 아닌지 판단하기가 쉽지 않습니다. 그래서 카카오페이에서는 Helix Structure를 활용하였는데 아래 그림처럼 기둥의 단면은 시간을 의미하고 z 축이 한 칸 올라가면 하루가 지나고 이벤트..

[도서 리뷰] XAI 설명 가능한 인공지능, 인공지능을 해부하다

아무리 잘 예측을 하는 모델을 만든다 해도 왜 그런지 설명을 못 하는 모델은 무쓸모...이지 않나 생각이 듭니다. 주장에는 근거가 필요하듯 모델 결과에도 사람이 납득할 만한 이유가 필요합니다. 그래서 저도 XAI, Explainable Artificial Intelligence에 대해 공부해보고자 책을 하나 새로 샀습니다. XAI 설명 가능한 인공지능, 인공지능을 해부하다국내도서저자 : 안재현출판 : 위키북스 2020.03.27상세보기 XAI 관련 도서는 이것밖에 안 보여서 사 오긴 했는데, XAI가 나온 배경부터 현재 통용되는 방법들에 대한 간단한 소개와 함께 실습하는 형태로 이루어져 있습니다. (다만... 뭔가 설명이 잘못된 부분이 있는 것 같은데... 나도 잘 모르니 skip...) 0. 이야기를 ..

[데이터 시각화] R에서 4d plot 그리기 | misc3d, rgl

모델을 만들고 모델 적합이 잘되었는지 확인하고 또 해석하기 위해 여러 시각화 방법을 사용합니다. 하지만 차원이 3차원이 넘어가면 표현하기 어려워지는데, 3차원 그래프에 색을 넣어 4차원까지 표현할 수 있습니다. 본 포스팅에서는 3개의 독립변수와 2개의 종속변수가 있다고 가정하고 각 종속 변수를 예측하는 회귀모델을 세우고 두 회귀식이 어떻게 생겼는지 4d로 나타내는 방법에 대해 소개합니다. $Y_1 = a_0 + a_1X_1 + a_2X_2 + a_3X_3$ $Y_2 = b_0 + b_1X_1 + b_2X_2 + b_3X_3$ 먼저 가상의 데이터를 생성합니다. #library library(RColorBrewer) # color palette library(misc3d) # 3d plot library(r..

Programming/R 2022.10.19

[최적해 찾기] Multiple response optimization

우리는 종종 모델을 만들고 그 모델을 분석 목적에 맞게 최적화해야 하는 상황에 직면하게 됩니다. 예를 들어, 모델1과 모델2는 trade-off 관계라 하나가 증가하면 하나는 감소한다면 두 모델을 동시에 작게 하는 feature의 조합을 찾기란 쉽지 않을 것입니다. 따라서 우리는 이 두가지 모델을 적절하게 작게 하는 타협점을 찾아야 합니다. 여기서 multiple reponse optimization이 출발하게 됩니다. 만약 X1, X2, X3에 따라 움직이는 Y1과 Y2이 있다고 가정했을 때, Y1와 Y2를 동시에 작게 하는 X1, X2, X3의 최적해를 찾을 수 있습니다. (물론 Y를 각각 크게 또는 작게 하는 최적 X1, X2, X3도 찾을 수 있겠죠?!) 만족도함수를 활용한 최적해를 찾기 위한 방..

Algorithm 2022.10.19

[EDA] density plot, correlation plot | seaborn

대표적인 데이터 시각화 패키지인 seaborn 패키지를 활용하여 데이터 분포와 상관관계 그래프를 그립니다. # 커널 밀도 함수 + 히스토그램 import seaborn as sns # 데이터 시각화 패키지 sns.distplot(tr_y["hhb"], color="blue", label="hhb") sns.distplot(tr_y["hbo2"], color="red", label="hbo2") sns.distplot(tr_y["ca"], color="green", label="ca") sns.distplot(tr_y["na"], color="yellow", label="na") plt.legend(title = 'Ys') # 상관관계 sns.heatmap(data = tr_y.corr(), annot=F..

Programming/Python 2022.10.19