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 공식 문서: https://scikit-learn.org/stable/documentation.html
- matplotlib 공식 문서: https://matplotlib.org/stable/contents.html
이상으로 scikit-learn을 사용한 데이터 시각화에 대해 알아보았습니다. 즐거운 프로그래밍 되세요!