[AITech] 20220203 - 회고

1 minute read


회고

오늘은 데이터 시각화 학습의 시작과, 파이썬의 대표적인 시각화 라이브러리인 Matplotlib에 대해 배우고 bar plot, line plot, scatter plot에 대해 배웠습니다.

데이터 시각화는 비단 데이터의 시각적 표현 뿐만 아니라, 시각적 표현 과정을 통해 데이터만으로 알지 못했던 관계를 찾아내고 이를 다른 사람들에게 알기 쉽게 전달/표현/설득하는 것에 그 목적이 있습니다.

데이터에는 정형 데이터, 시계열 데이터, 지리 데이터, 관계형 데이터, 계층적 데이터, 다양한 비정형 데이터들이 있으며 이는 크게 수치형 데이터(연속형, 이산형)와 범주형 데이터(명목형, 순서형)로 나눌 수 있습니다.

Matplotlib은 파이썬의 대표적인 시각화 라이브러리로, Numpy와 Scipy를 베이스로 하여 다양한 라이브러리와 호환성이 높고 다양한 시각화 방법론을 제공하기 때문에 그 활용도가 높습니다.

Matplotlib을 이용해 그래프를 그릴 때는 기본적으로 큰 틀(팔레트)에 해당하는 figure와 각각의 서브플롯에 해당하는 ax를 사용하여 그래프를 그립니다. plt.figure(), fig.add_subplot(), plt.subplots() 등을 사용할 수 있습니다.

Bar Plot은 막대 그래프로, ax.bar(), ax.barh()를 사용하여 그립니다. Variation으로 Multiple bar plot, (Percentage) Stacked bar plot, Overlapped bar plot, Grouped bar plot 등이 있습니다.

Bar plot에서는 x, y 축은 0부터 시작하는 것이 좋으며, 적절하게 공간을 활용하고 목적에 따라 복잡함과 단순함을 잘 선택하는 것이 필요합니다.

Line Plot은 선 그래프로, ax.plot()을 사용하여 그립니다. color, marker(markersize), linestyle(linewidth) 등의 인자를 전달하여 다양하게 그릴 수 있습니다.

Line plot은 그 추세를 보는 데에 주 목적이 있기 때문에, 복잡하게 그리기보다는 단순하게 그리는 것이 권장되며, 데이터와 상관없이 축 눈금을 일정 간격으로 하고 데이터마다 마커를 찍어서 그 데이터에 대해 오해가 없도록 하는 것이 좋습니다.

Scatter Plot은 산점도로, ax.scatter()를 사용하여 그립니다. color(c), marker, size(s), linewidth, edgecolor 등의 인자를 전달하여 다양하게 그릴 수 있습니다.

Scatter plot은 두 feature 간의 상관 관계, 군집 관계 등을 파악하는 데 그 목적이 있으며, 점이 많아져 그 분포를 확인하기 어려울 때는 alpha 값 조정, Jittering, 2D histogram, Contour plot 등을 이용해 표현할 수 있습니다.

Categories: ,

Updated:

Leave a comment