[파이썬] 데이터 시각화와 클러스터링

데이터 시각화와 클러스터링은 데이터 분석과 머신러닝에서 중요한 개념입니다. 데이터 시각화는 데이터를 시각적으로 보여주는 과정을 의미하며, 클러스터링은 비슷한 특성을 가진 데이터들을 그룹으로 묶는 작업을 의미합니다.

Python은 데이터 시각화와 클러스터링을 위한 다양한 라이브러리를 제공하며, 이를 활용해 복잡한 데이터를 쉽게 분석하고 시각화할 수 있습니다.

데이터 시각화

데이터 시각화는 데이터의 특성과 경향성을 파악하고, 데이터 간의 관계를 시각적으로 이해하기 위해 사용됩니다. Python에서는 matplotlibseaborn과 같은 라이브러리를 사용하여 다양한 시각화 플롯을 생성할 수 있습니다.

예시 코드:

import matplotlib.pyplot as plt
import seaborn as sns

# 데이터 준비
x = [1, 2, 3, 4, 5]
y = [5, 4, 3, 2, 1]

# 선 그래프
plt.plot(x, y)
plt.xlabel('X축')
plt.ylabel('Y축')
plt.title('선 그래프')
plt.show()

# 산점도
plt.scatter(x, y)
plt.xlabel('X축')
plt.ylabel('Y축')
plt.title('산점도')
plt.show()

# 히스토그램
sns.histplot(x)
plt.xlabel('X축')
plt.ylabel('빈도')
plt.title('히스토그램')
plt.show()

클러스터링

클러스터링은 데이터를 비슷한 특성을 가진 그룹으로 나누는 작업입니다. 이를 통해 데이터를 보다 단순화시키고, 유사한 특징을 가진 데이터로 구성된 군집을 해석할 수 있습니다. Python에서는 scikit-learn 라이브러리의 KMeans와 같은 알고리즘을 사용하여 클러스터링을 수행할 수 있습니다.

예시 코드:

from sklearn.cluster import KMeans
import numpy as np

# 데이터 준비
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])

# KMeans 클러스터링
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)

# 클러스터링 결과 시각화
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_)
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker='*', c='r', s=200)
plt.xlabel('X축')
plt.ylabel('Y축')
plt.title('KMeans 클러스터링')
plt.show()

위의 코드에서는 2개의 클러스터를 생성하여 데이터를 분류하고, 결과를 산점도로 시각화합니다.

이렇게 Python을 활용하여 데이터 시각화와 클러스터링을 수행할 수 있습니다. 데이터의 특성과 분포를 시각적으로 파악하고, 유사한 데이터를 그룹으로 묶어 분석하는 데에 많은 도움이 됩니다.