
지난 글에서는 EDA(탐색적 데이터 분석)를 통해 데이터의 특성과 패턴을 분석하는 방법을 알아봤다.
하지만 숫자로만 이루어진 데이터를 계속 바라보다 보면 중요한 특징을 놓치기 쉽다. 이럴 때 필요한 것이 바로 데이터 시각화(Data Visualization)이다.
데이터를 그래프로 표현하면 복잡한 데이터도 한눈에 이해할 수 있으며, 숨겨진 패턴이나 이상치를 쉽게 발견할 수 있다.
데이터 시각화(Data Visualization)는
데이터를 그래프나 차트 등의 시각적인 형태로 표현하여 정보를 쉽게 이해할 수 있도록 만드는 과정이다.
사람은 숫자보다 이미지를 훨씬 빠르게 이해하기 때문에 데이터 분석에서는 시각화가 매우 중요한 역할을 한다.
예를 들어 학생들의 시험 점수가 아래와 같다고 가정해보자.
72, 75, 74, 76, 73, 74, 75, 98
숫자만 보면 특별한 점을 찾기 어렵지만 그래프로 표현하면 98점이라는 이상치가 한눈에 보인다.
또한
등도 쉽게 확인할 수 있다.
데이터 분석에서는 주로 다음 두 가지 라이브러리를 사용한다.
Python에서 가장 기본이 되는 시각화 라이브러리이다.
거의 모든 그래프를 그릴 수 있으며, 다른 시각화 라이브러리의 기반이 되기도 한다.
설치
pip install matplotlib
불러오기
import matplotlib.pyplot as plt
Seaborn은 Matplotlib를 기반으로 만들어진 라이브러리이다.
더 보기 좋은 디자인을 제공하며 통계 시각화에 매우 많이 사용된다.
설치
pip install seaborn
불러오기
import seaborn as sns
시간에 따른 변화나 추세를 확인할 때 사용하는 그래프이다.
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [3,5,4,7,8]
plt.plot(x, y)
plt.show()
활용 예시
범주별 데이터를 비교할 때 사용한다.
import matplotlib.pyplot as plt
fruit = ["Apple","Banana","Orange"]
count = [30,15,20]
plt.bar(fruit, count)
plt.show()
활용 예시
데이터의 분포를 확인하는 가장 대표적인 그래프이다.
df["Age"].hist()
plt.show()
히스토그램을 통해
등을 쉽게 확인할 수 있다.
두 변수 사이의 관계를 확인할 때 사용한다.
plt.scatter(df["Height"], df["Weight"])
plt.show()
활용 예시
산점도는 상관관계를 직관적으로 확인할 수 있다는 장점이 있다.
데이터의 분포와 이상치를 확인하는 그래프이다.
sns.boxplot(x=df["Glucose"])
plt.show()
박스플롯에서는
를 한 번에 확인할 수 있다.
EDA 과정에서 가장 많이 사용하는 그래프 중 하나이다.
데이터 간의 상관관계를 색으로 표현하는 그래프이다.
corr = df.corr(numeric_only=True)
sns.heatmap(corr, annot=True)
plt.show()
색이 진할수록 변수 간의 관계가 강하다는 것을 의미한다.
AI 프로젝트에서는 어떤 변수가 서로 관련이 있는지 확인할 때 자주 사용된다.
그래프를 많이 그리는 것보다 올바르게 표현하는 것이 중요하다.
다음 사항을 항상 고려하자.
그래프는 보기 좋기 위한 것이 아니라 정보를 전달하기 위한 도구라는 점을 기억해야 한다.
예를 들어 건강검진 데이터를 분석한다고 가정해보자.
데이터 시각화를 통해 다음과 같은 정보를 쉽게 확인할 수 있다.
이처럼 복잡한 의료 데이터를 그래프로 표현하면 데이터의 특징을 빠르게 이해할 수 있으며, 이상 징후나 중요한 패턴도 쉽게 발견할 수 있다.
데이터 시각화는 단순히 그래프를 그리는 기술이 아니라 데이터를 이해하고 전달하는 과정이다.
같은 데이터라도 어떤 그래프를 선택하느냐에 따라 전달되는 정보가 달라질 수 있다. 따라서 데이터의 특성과 분석 목적에 맞는 그래프를 선택하는 것이 중요하다.
다음 글에서는 데이터 전처리(Data Preprocessing)를 통해 결측치 처리, 이상치 처리, 인코딩, 스케일링 등 머신러닝 모델의 성능을 높이기 위한 데이터 준비 과정을 알아보자.