[Data Science] Data Acquisition and Visualization
데이터를 수집할 때 내가 어떤 데이터를 얼마나 필요하고 어떻게 구하는지도 중요하지만 가장 중요한 건 관련된 법적 문제가 없는지 확인하는 것.. 소송 비용이 굉장히 크다.
현실 세계에서 데이터를 구하기 힘들어서 게임 속에서 데이터를 수집하더라도, 그 게임사와 저작권 문제가 얽힐 수 있다.
사람이 점프하는 데이터를 구하기 힘들어서 마리오가 점프하는 데이터를 구했다고 하자. 이러면 닌텐도와 저작권 문제가 얽힐 수 있어 그 데이터를 바탕으로 논문을 작성하더라도 회사 법무팀에서 데이터셋 공개를 막을 수 있음.
데이터 수집 방법론으로는 CRISP-DM과 TDSP 가 있는데 그냥 그런게 있다 정도만 알기..
데이터셋은 Primary Data와 Secondary Data / Cleaned Data와 Raw Data로 나뉜다.
Primary Data는 직접 관찰하거나 시뮬레이션 돌려서 내가 직접 수집한 핵심 데이터이고, Secondary Data는 Primary 외에 보조적으로 활용할 수 있는 데이터를 의미함.
캐글이나 데이콘에서 제공하는 데이터는 Cleaned Data로 바로 사용할 수 있고, Raw Data는 직접 수집한 데이터로 정제되지 않음.
연구 목적으로는 Cleaned Data를 사용하지만.. 정제 과정에서 정보 손실이 있을 수 있어 Flexibility 이슈가 있음.
데이터 형식은 웬만하면 License에 의존하지 않아야 함. csv tsv txt 뭘 써도 되지만, xlsx처럼 엑셀을 사용해야 다룰 수 있는 데이터는 최대한 피하자.
데이터를 다운로드 하는 것도 문제.
대용량 데이터를 다운로드 해야 하니 근무시간 외에 받고, 중간에 블락 될 수 있으니 재시도 로직을 구현하고 IP 차단을 고려해 여러 IP를 준비해두고.. 속도를 위해 멀티프로세스 및 쓰레드를 사용하기도 한다.
네트워크를 타게 되면 병목이 생길수밖에 없음. 그러니 정말 대용량이라면 하드디스크를 통해 직접 받는 방식도 고려하자.

프로그래밍언어개론 과목에서도 다뤘듯, 정규표현식은 텍스트에서 특정 패턴을 정의해서 일치하는 문자열을 찾는 도구.
데이터과학에서 중요한건 맞지만 굉장히 지엽적이고 지식적이니 그냥 필요할 때 찾아서 쓰자.
EDA(Exploratory Data Analysis) 는 데이터를 다양한 각도에서 관찰하고 이해하는 과정을 의미함.
데이터를 변환하는게 아니라 Feature를 제대로 이해하는 것. 시각화를 할 수도 있고.. 통계를 내 볼 수도 있고..
웬만하면 시각화를 해본다.
Distribution은 변수의 값이 얼마나 자주 나타나는지를 설명하는 개념.
전체 빈도의 합이 100%가 되어야 하고, 중복 선택은 불가능함.
Bar Plot, Pie Chart, Line Graph, Area Chart, HeatMap, TreeMap, Histogram 등 여러 시각화 형태가 있음
Skewness로 히스토그램 평가하고.. Local Maximum 개수에 따라 Unimodal Bimodal Multimodal 구분하고..
그냥 진짜 너무 당연한거라 저런게 있다 정도만 알면 됨.


Box and Whisker Plot에서 사용되는 용어를 정리하자.
Q1 : 데이터의 하위 25% 지점
Q2 : 데이터의 중앙값
Q3 : 데이터의 하위 75% 지점
IQR : Q3 - Q1 으로 중간 50% 데이터의 범위
Upper Whisker : Q3 + 1.5 * IQR
Lower Whisker : Q1 - 1.5 * IQR
Box Plot의 한계를 보완하기 위해 Violin Plot이 도입됨.
Q1 Median.. 이런 정보는 똑같이 유지하고, Kernel Density Estimation 를 입혀서 분포의 실제 모양도 보여준다.
분포를 비교할 때는 히스토그램 여러개를 겹쳐놓거나 Box나 Violin을 나란히 놓는 방식을 사용함. (Width가 넓으면 데이터가 많다)

Kernel Density Estimation은 데이터로부터 Probability Density Function을 추정하는 방식.
각 데이터 포인트마다 Kernel 함수를 하나씩 올려두고 각 Kernel을 정규화시키고 합산해서 만든다.
수식을 보면 그냥 직관적임 그대로 수식 쓴거..
Kernel Function으로는 웬만하면 Gaussian Kernel을 사용함.
가우시안에서의 a 파라미터가 bin 너비와 같은 역할을 수행한다.
변수 사이의 관계를 표현할 때는 Scatter Plot을 사용함.
데이터가 많아져 점들이 겹치는 문제를 해결하기 위해 랜덤 노이즈를 더하는 Jitter 방식을 쓴다는데.. 이게 제대로 동작하는지는 모름.
차라리 Hex Plot으로 2D 히스토그램을 만들거나 Contour Plot을 만들어서 해결함.
사실 Scatter / Hex / Contour는 1D 시각화의 확장이다.
Rug Plot -> Scatter Plot (개별 점)
Histogram -> Hex Plot (구간별 밀도)
KDE -> Contour Plot (부드러운 밀도 추정)
회사에서 리포트를 작성하거나 논문을 작성할 때 Visualization Theory를 알면 도움이 됨.
Linearization : 데이터가 비선형 관계로 분포한 경우 해석하기 어려우니 선형화.
평균, 표준편차, 계수 등 통계 정보가 모두 같아도 시각화했을 때 다를 수 있으니 통계 수치만 보지 말고 시각화로 확인하자.
캡션을 작성할 때는 그것만 읽어도 그래프를 이해할 수 있도록 작성하고..
'Computer Science > Data Science' 카테고리의 다른 글
| [Data Science] ETRI 휴먼이해 인공지능 논문경진대회 - 1 (0) | 2026.05.04 |
|---|---|
| [Data Science] Data Preprocessing & Feature Engineering (0) | 2026.04.14 |
| [Data Science] Statistical Data Analysis (0) | 2026.04.09 |
| [Data Science] Decision Tree & Regularization (0) | 2026.03.14 |
| [Data Science] Regression & Classification (0) | 2026.03.07 |
댓글
이 글 공유하기
다른 글
-
[Data Science] Data Preprocessing & Feature Engineering
[Data Science] Data Preprocessing & Feature Engineering
2026.04.14 -
[Data Science] Statistical Data Analysis
[Data Science] Statistical Data Analysis
2026.04.09 -
[Data Science] Decision Tree & Regularization
[Data Science] Decision Tree & Regularization
2026.03.14 -
[Data Science] Regression & Classification
[Data Science] Regression & Classification
2026.03.07