CS 공부/Data Visualization

비정형 데이터셋 시각화

imsmile2000 2023. 4. 9. 04:10

1. dataset meta data visualization

  • target값의 분포, target값 간의 관계 시각화
  • 훈련 상에서 발생할 수 있는 문제점 예측

2. dataset listup

  • only dataset: 데이터셋의 일부를 단순하게 나열
  • datset-target:  bounding box 등의 gt, prediction 등을 정답 데이터와 비교하여 문제점 발견 가능

3. visual analytics

  • 데이터가 고차원일 경우 관계를 쉽게 파악하기 힘들어 차원을 축소하게됨
  • dimension reduction(pca, lda, tsne, umap) + scatter plot (2d, 3d)
    • 텍스트의 경우에는 word2vec등 전처리 과정을 거쳐야함
  • data-data relation network visualization: 데이터간의 관계 시각화 (네트워크 시각화)
    • 파이썬보다는 전문 툴 사용

4. train/inference visualization

  • loss graph 그리기
    • wandb / tensorboard 등 다양한 툴로 모델의 훈련과정 확인

5. etc

  • XAI
  • 딥러닝 네트워크 구조 시각화
 

NN SVG

 

alexlenail.me

 

GitHub - HarisIqbal88/PlotNeuralNet: Latex code for making neural networks diagrams

Latex code for making neural networks diagrams. Contribute to HarisIqbal88/PlotNeuralNet development by creating an account on GitHub.

github.com

 

Quick Start — Netscope

Netscope A web-based tool for visualizing neural network architectures (or technically, any directed acyclic graph). It currently supports Caffe's prototxt format.

ethereon.github.io

 

 

이미지 데이터 시각화


  1. 이미지 나열
    • ax.imshow (또는 sns.heatmap, px.imshow)를 사용하여 일반적인 시각화를 진행할 수 있다.
  2. Patch 사용하기
    • 면적을 가진 부분=patch
    • bounding box를 그릴 때 많이 사용
      • rect = patches.Rectangle((12), 34, linewidth=2, edgecolor='r', facecolor='red', alpha=0.3)
    • slider를 사용하여 opacity를 변경할 수 있게 제공
    • segmentation별 버튼 생성
    • 기본적으로 wandb 등에서 진행할 수 있으니 기존 툴 사용하는 것을 더 추천
  3. 차원 축소 + Scatter Plot
    • TSNE, UMAP 등을 통해 데이터셋의 경향성을 살펴볼 수 있다
    • cluster가 잘 이루어지는지 체크하는 것이 목적
    • pip install umap-learn
      • from umap import UMAP
      • data = digits['data']
      • target = digits['target']
      • umap = UMAP(random_state=0)
      • data_dr = umap.fit_transform(data, target) #차원 축소

 

텍스트 데이터 시각화


  • Console 출력에 highlight 하기
    • 자연어 처리에서 품사 태깅이나 가중치 값을 시각화할 때 좋음
    • from termcolor import colored, cprint
    • colored("hello red world"'red'#글자색 바꾸기
  • HTML로 highlight 하기
    • from IPython.core.display import HTML
    • HTML("<span style='color:red'>hello</span> word")
  •