더 이상 tistory 블로그를 운영하지 않습니다. glanceyes.github.io에서 새롭게 시작합니다.

새소식

Data Science/데이터 시각화

비정형 데이터 셋에서의 데이터 시각화

  • -

 

2022년 2월 14일(월)부터 18일(금)까지 네이버 부스트캠프(boostcamp) AI Tech 강의를 들으면서 중요하다고 생각되거나 짚고 넘어가야 할 핵심 내용들만 간단하게 메모한 내용입니다. 틀리거나 설명이 부족한 내용이 있을 수 있으며, 이는 학습을 진행하면서 꾸준히 내용을 수정하거나 추가해나갈 예정입니다. 강의 자료의 저작권은 네이버 커넥트재단 부스트캠프 AI Tech에 있습니다.

 

 

 

비정형 데이터셋에 사용할 수 있는 EDA & Visualization

 

일반적으로 비정형 데이터(이미지, 텍스트 등)에서는 다음과 같은 시각화를 해 볼 수 있다.

 

Dataset meta data visualization

메타 데이터는 데이터 자체가 아니라 그 데이터에 대한 정보를 의미한다.

일반적으로는 target 값을 의미한다.

 

Target distribution

  • 훈련 상에서 발생할 수 있는 문제점 예측
    • 데이터의 불균형 문제
    • Long Tail Problem
  • Augmentation 방법론 및 모델 선택 시 도움

 

 

Dataset Listup

데이터셋이 어떠한 형식으로 이루어져 있는지, 어떤 데이터가 있는지를 알려주는 예시를 살펴볼 수 있게 주어지는 게 좋다.

 

데이터 셋만 보여주기

  • 데이터셋의 일부를 랜덤하게 리스트업
  • 어떤 식으로 나열하는 게 좋을지를 고민해 봐야 한다.

 

Datset-Target 간의 관계

  • 예측 값 등을 정답 데이터와 비교하여 문제점 발견 가능
  • ax.add_patch()를 이용해서 Bounding Box를 그릴 수 있다.
  • 레이블링에 관해 오차는 없는지를 보여줄 수 있다.

 

 

Visual Analytics

새로운 방식으로 인코딩을 해서 또는 순수 데이터를 사용해서 시각적으로 분석을 하는 방법이다.

 

 

Dimension Reduction(pca, lda, tsne, umap) + Scatter Plot (2d, 3d)

  • 비정형 데이터는 각각을 vector로 나타내는 것이 일반적이다.
    • text의 경우에는 word2vec 등의 과정을 거쳐야 한다.
  • 축소된 차원 자체가 왜곡된 정보를 보여줄 수 있지만, 전체적인 경향성을 보여줄 수 있다.
  • data-data relation network visualization
    • 데이터와 데이터 간의 관계를 네트워크로 시각화해줄 수 있다.
    • 시각화보다는 다른 툴을 사용하는 것이 일반적이다.

 

 

Train ∙ Inference visualization

모델의 훈련과정을 확인할 때 시각화 하는 것이다.

굳이 Python으로 시각화할 필요는 없고, wandb 또는 tensorboard를 이용해볼 수 있다.

  • loss graph
    • Wandb, tensorboard 등 다양한 툴로 모델의 훈련과정 확인
  • result
    • Classification 문제에 관해서는 confusion matrix를 그려줄 수 있다.
    • 생성된 모델 결과를 list up 해줄 수도 있다.

 

 

도움되는 라이브러리

Captum.ai

딥러닝 모델에 관하여 어떠한 정보를 뽑아서 딥러닝을 해석할 수 있도록 한다.

XAI using torch : https://captum.ai/

 

Captum · Model Interpretability for PyTorch

Model Interpretability for PyTorch

captum.ai

 

Node-Link diagram (network visualization)

아직은 PPT를 이용하거나 또는 직접 그리는 방법이 사용되기는 하지만, 네트워크 모델 자체를 다이어그램으로 그려주는 툴을 사용할 수도 있다.

 

 

Interaction의 필요성

jupyter notebook

  • 모두 한 번에 시각화해서 보여주면 메모리 면에서 제약이 있을 수 있다.
  • 함수형으로 1번에 1개를 만드는 방식을 고려할 수 있다.

 

Web demo

  • 모든 내용을 한 번에 db에 올려서 웹 어플리케이션처럼 사용할 수도 있다.
  • Tensorboard, wandb가 여기에 해당된다.
Contents

글 주소를 복사했습니다

부족한 글 끝까지 읽어주셔서 감사합니다.
보충할 내용이 있으면 언제든지 댓글 남겨주세요.