[파이썬] `seaborn`을 사용한 머신러닝 결과 시각화

머신러닝은 데이터를 분석하고 모델을 구축하는데 많은 시간과 노력이 필요합니다. 그러나 어떻게 모델이 작동하는지를 시각화하는 것은 머신러닝 프로젝트에서 중요한 부분입니다. 결과를 시각화함으로써 데이터의 패턴과 모델의 성능을 빠르게 파악할 수 있습니다. 이를 위해 파이썬의 Seaborn 라이브러리를 사용하면 편리하고 멋진 그래프를 그릴 수 있습니다.

Seaborn 소개

Seaborn은 데이터 시각화에 사용되는 파이썬 라이브러리입니다. Matplotlib에 기반을 두고 있으며, 조금 더 간단하고 세련된 테마와 그래프 스타일을 제공합니다. Seaborn은 데이터 시각화에 필요한 다양한 종류의 그래프를 지원하며, 통계적인 색상 팔레트와 테마도 제공하여 그래프의 가독성을 향상시킵니다.

머신러닝 결과 시각화 예제

다음은 Seaborn을 사용하여 머신러닝 결과를 시각화하는 예제입니다. 예제에서는 붓꽃 데이터셋을 사용하여 붓꽃의 종류를 예측하는 분류 모델을 만들고, 모델의 성능을 시각화합니다.

먼저, 필요한 라이브러리를 임포트합니다.

import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix

다음으로, 붓꽃 데이터셋을 로드하고 훈련 데이터와 테스트 데이터로 나눕니다.

iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)

모델을 학습시키고 예측을 수행합니다.

model = LogisticRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

마지막으로, Seaborn을 사용하여 오차 행렬을 시각화합니다.

cm = confusion_matrix(y_test, y_pred)
sns.heatmap(cm, annot=True, cmap="Blues")
plt.xlabel('Predicted')
plt.ylabel('True')
plt.show()

이 예제에서는 confusion_matrix를 사용하여 모델의 성능을 평가하고, sns.heatmap을 사용하여 오차 행렬을 시각화합니다. 행렬의 각 셀은 실제 결과와 예측 결과를 나타내며, 색상으로 예측 결과의 정확성을 표시합니다.

Seaborn은 다양한 시각화 방법을 지원하므로 데이터의 특성에 맞게 적절한 그래프를 선택할 수 있습니다. 그래프의 디자인과 스타일도 자유롭게 변경할 수 있어서, 머신러닝 결과를 전문적으로 시각화할 수 있습니다.

Seaborn을 사용하여 머신러닝 결과를 시각화하면 모델의 성능을 빠르게 파악할 수 있으며, 데이터의 패턴을 시각적으로 확인할 수 있습니다.