[python] scikit-learn을 사용한 데이터 시각화

scikit-learn은 파이썬에서 머신러닝과 데이터 분석을 위한 라이브러리입니다. 이 라이브러리에는 다양한 알고리즘과 기능이 있지만, 데이터를 시각화하기 위해 matplotlib 라이브러리와 같이 사용되기도 합니다. 이번 글에서는 scikit-learn을 사용하여 데이터 시각화하는 방법을 알아보겠습니다.

데이터 불러오기

우선 데이터를 불러와야 합니다. scikit-learn에서는 샘플 데이터셋을 제공하므로, 불러온 후 시각화할 수 있습니다. 예를 들어, iris 데이터셋을 사용해보겠습니다.

from sklearn.datasets import load_iris

# Iris 데이터셋 불러오기
iris = load_iris()

# 데이터 확인
print(iris.data.shape)  # (150, 4)
print(iris.target.shape)  # (150,)

산점도 그리기

산점도는 두 개의 변수 간의 관계를 시각화하는 데 사용됩니다. scikit-learn에서는 scatter() 함수를 사용하여 간단하게 산점도를 그릴 수 있습니다.

import matplotlib.pyplot as plt

# 산점도 그리기
plt.scatter(iris.data[:, 0], iris.data[:, 1], c=iris.target)
plt.xlabel("Sepal length")
plt.ylabel("Sepal width")
plt.show()

위 코드는 iris 데이터셋에서 Sepal length와 Sepal width 변수 간의 관계를 산점도로 나타냅니다. c 매개변수를 사용하여 각 샘플의 클래스를 색으로 구분할 수 있습니다.

히스토그램 그리기

히스토그램은 변수의 분포를 시각화하는 데 사용됩니다. scikit-learn에서는 hist() 함수를 사용하여 히스토그램을 그릴 수 있습니다.

# 히스토그램 그리기
plt.hist(iris.data[:, 2], bins=30)
plt.xlabel("Petal length")
plt.ylabel("Frequency")
plt.show()

위 코드는 iris 데이터셋에서 Petal length 변수의 분포를 히스토그램으로 나타냅니다. bins 매개변수를 사용하여 구간의 개수를 조정할 수 있습니다.

상자 그림 그리기

상자 그림은 변수의 분포와 이상치를 시각화하는 데 사용됩니다. scikit-learn에서는 boxplot() 함수를 사용하여 상자 그림을 그릴 수 있습니다.

# 상자 그림 그리기
plt.boxplot(iris.data)
plt.xticks([1, 2, 3, 4], ['Sepal length', 'Sepal width', 'Petal length', 'Petal width'])
plt.ylabel("Value")
plt.show()

위 코드는 iris 데이터셋의 네 개 변수에 대한 상자 그림을 나타냅니다. xticks 매개변수를 사용하여 x축 레이블을 설정할 수 있습니다.

이처럼 scikit-learn을 사용하여 데이터를 시각화할 수 있습니다. 데이터의 특성에 따라 적절한 시각화 방법을 선택하여 데이터를 탐색하고 분석하는 데 활용할 수 있습니다.

참고 자료

이상으로 scikit-learn을 사용한 데이터 시각화에 대해 알아보았습니다. 즐거운 프로그래밍 되세요!