tabular data(9)
-
tensorflow, keras) 정형 데이터를 이용하여 모델 만들기
목차 umap에서 ParametricUMAP 을 사용하기 위해서는 keras 모델을 만들어야 하는데, 정형데이터를 임베딩해서 적용해보고 싶어서, 테스트를 하는 도중에 나온 결과물을 정리한다. 결론적으로 현재(22/01/08)는 umap에서 dict 데이터 타입을 지원하지 않고, 오로지 array 형태로만 가능하기 때문에, 사용할수가 없었다. 데이터를 one-hot으로 해서 하는 방법이 있겠지만, 차원 축소를 할 때 임베딩도 차원 축소할 때 학습시키고자 했기 때문에 좀 더 라이브러리가 개선되면 그때 다시 시도해봐야겠다. 아니면 일부 코드를 뜯어내서 수정하거나... 이러한 예시는 tensorflow에서 더 잘되어 있긴 하지만, 간단하게 구현해놔서 정리만 해둔다. 라이브러리 호출 import pandas as..
2022.01.08 -
PyTorch에서 SHAP을 사용하여 모델 해석하기 (정형 데이터)
Torch를 프레임워크를 사용한 Neural Network를 eXAI 알고리즘 중 하나인 SHAP을 사용해서 적용해보기 import torch, torchvision from torchvision import datasets, transforms from torch import nn, optim from torch.nn import functional as F import numpy as np import shap import pandas as pd Myutils는 개인적으로 분석하면서 모아놓은 모음집 from Myutils import * from sklearn.compose import ColumnTransformer from sklearn.pipeline import Pipeline 데이터 간단한 ..
2020.03.14 -
텐서플로우 버전 1에서 LIME 과 SHAP 을 사용하여 모델 해석하기 (정형 데이터)
딥러닝 모델들이 black-box 형태의 모델이기 때문에 해석을 하는 데 있어서 사람들의 많은 요구사항들이 있다. 그중에서 유명한 것은 eli5, shap, lime, skater와 같은 알고리즘들을 사용하고, 만약 이러한 알고리즘을 적용하기 어렵다면, surrogate model을 통해 해당 모델에 대한 설명 가능한 모델을 새로 만들어서 모델을 해석하는 방법도 있다. 아래 블로그는 XAI에 대해서 정리한 글이라서 참고하시면 될 것 같다. 해당 글에서는 ELI5 /Skater / SHAP에 대한 설명을 해주고 있다. 대한 예제는 해당 블로그에도 있으니 참고하길 바란다. 여기선 skater라는 것을 보게 됐는데, 이것도 적용을 해봐야겠다. https://towardsdatascience.com/explai..
2020.02.25 -
[ Python ] sklearn_pandas 로 정형데이터 전처리하기(Preprocessing)
광고 한 번만 눌러주세요 블로그 운영을 하는 데 있어서 큰 힘이 됩니다. : ) 파이썬으로 분석을 하다 보면 sklearn과 pandas는 정형 데이터에서 자주 사용하는 패키지일 것이다. 정형 데이터에서 보통 범주형 데이터와 수치형 변수를 나눠서 전처리를 할 때 2개를 같이 쓰게 된다. 하지만 각각의 변수별로 처리를 하게 된다면 보통 다음과 같이 진행할 것이다. from sklearn.compose import ColumnTransformer from sklearn.pipeline import Pipeline from sklearn.impute import SimpleImputer from sklearn.preprocessing import StandardScaler, OneHotEncoder imp =..
2020.01.19 -
TABNET: ATTENTIVE INTERPRETABLE TABULAR LEARNING -2
TABNET: ATTENTIVE INTERPRETABLE TABULAR LEARNING -1 https://github.com/google-research/google-research/tree/master/tabnet https://arxiv.org/abs/1908.07442# 3. TABNET MODEL 3.1 PRINCIPLES (Fig. 2) 전통적인 뉴럴 네트워크 building bolcks들을 사용하여 decision tree-like output manifold의 시행을 초기에 고려했다. 개별 형상 선택은 초평면 형태의 의사결정 경계를 구하는 핵심 아이디어로, 구성 계수가 의사결정 경계에서 각 형상의 비율을 결정하는 형상의 선형 조합에 대해 일반화할 수 있다. 저자는 tree-like func..
2020.01.05 -
TABNET: ATTENTIVE INTERPRETABLE TABULAR LEARNING -1
https://github.com/google-research/google-research/tree/master/tabnet https://arxiv.org/abs/1908.07442# TABNET이라는 것을 우연히 찾게 되었다. 현재 딥러닝은 tabular data 보다는 image, speech, text 등 더 비정형 데이터에 많이 사용되고 개발되고 있다. 그래서 개인적으로 나는 그런 분야보다는 tabular data에 더 집중해서 공부하다 보니 많은 자료가 나오지 않아서 아쉬움을 느낀다. 그래서 이 TABNET이 google 분석가들이 쓴 글이니 어느 정도 tensor flow로 구현도 되어 있고, 기발한 아이디어가 있을 것 같아 읽어 보기 시작했다. https://openreview.net/fo..
2020.01.05 -
Tensorflow 1.x Tabular Data Neural Network Modeling
도움이 되셨다면 광고 한번만 눌러주세요! 블로그 운영에 큰 힘이 됩니다! : ) tabular data에 tensor flow 적용하기. 코드에서 눈여겨 봐야할 점 missing value mean 처리 selu activation + alpha dropout boosting algorithm idea 비슷하게 흉내내기(틀린 것을 더 학습시키는 구조) Weighted Cross-Entropy (compute class weight) Weight L2 Regularization category 데이터를 onehot을 하지 않고 label encoding 한 후 embedding 또는 onehot으로 처리함. label smoothing 적용 alpha = 0.95 y_one_hot = tf.add(alph..
2020.01.04 -
Self Normalizing Neural Network (Fully Connected Layer 의 희망?)
도움이 되셨다면, 광고 한번만 눌러주세요. 블로그 관리에 큰 힘이 됩니다 ^^ 2017년도 Feed Forward NN (FNN)에 관한 논문 CNN, RNN은 성공하고 있지만, FNN 쪽은 성능이 잘 안 나오고 있다. FNN 은 shallow layers 에서는 잘 되지만, 점점 깊어질수록 성능이 떨어지는 단점이 있다. 이 논문에서는 high level representation을 할 수 있게 하는 self-normalizing nn(SNN)을 제안한다. batch norm을 쓰면 명시적으로 정규화를 할 수 있지만 SNN을 쓰면 자동적으로 소말 라이징 하게 된다. snn의 활성화함수는 scaled exponential linear units(selu)를 사용한다. 바나흐 고정점 정리를 이용하여 우리는 ..
2019.11.09 -
[Review] Deep learning method for synthesis of tabular data
Boogie Software라는 곳에서 tabular data를 GAN을 활용해서 만들어서 상업화가 되고 있는 것 같다. 개인적으로 계속해보고 있지만, 굉장히 불안전하다고 생각하는데, 벌써 상업화하고 있어서 참 빠르다고 생각한다. 은행 거래 데이터를 활용해서 하는 것 같다. 여기선 GAN을 활용해서 합성 데이터를 만든다고 한다. 은행 데이터에는 Categorical , Numerical 변수들이 많이 있는데, 이렇게 합성한 데이터를 training을 할 때나 test 할 때 쓴다고 한다. Data synthesis 막상 데이터는 있지만, 흔한 경우 그 데이터는 Privacy와 굉장히 밀접한 데이터 때문에 실제 데이터를 바로 사용하기가 어려운 경험들이 있을 것입니다. 그래서 상업적으로 사용하기 위해 비슷한..
2019.06.25