머신 러닝 및 데이터 분석 작업을 수행할 때 데이터 세트를 로드하는 것은 중요한 단계입니다. scikit-learn은 파이썬에서 머신 러닝 작업을 지원하는 인기있는 라이브러리 중 하나입니다. 이번 포스트에서는 scikit-learn을 사용하여 데이터 세트를 로드하는 방법에 대해 알아보겠습니다.
scikit-learn에서는 여러 가지 데이터 세트를 제공하며, 이러한 데이터 세트를 로드하기 위해 load_*
함수를 사용할 수 있습니다. 일반적으로 load_*
함수는 파이썬 딕셔너리 형태로 데이터와 레이블 정보를 반환합니다.
예를 들어, scikit-learn의 load_iris
함수를 사용하여 아이리스 데이터 세트를 로드해 보겠습니다.
from sklearn.datasets import load_iris
# 데이터 세트 로드
data = load_iris()
# 데이터 확인
print(data.keys())
위의 코드에서 load_iris
함수를 사용하여 데이터를 로드하고, data.keys()
를 통해 로드된 데이터의 키를 확인할 수 있습니다. 이를 실행하면 다음과 같은 결과를 얻을 수 있습니다:
dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename'])
위의 결과에서 data
는 입력 데이터를, target
은 레이블을 나타냅니다.
이제 데이터를 좀 더 자세히 살펴보겠습니다. 실행한 코드에 다음 줄을 추가하여 데이터의 형태와 일부 샘플을 출력합니다.
# 데이터 형태 출력
print(data['data'].shape)
# 첫 5개 샘플 출력
print(data['data'][:5])
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다:
(150, 4)
[[5.1 3.5 1.4 0.2]
[4.9 3. 1.4 0.2]
[4.7 3.2 1.3 0.2]
[4.6 3.1 1.5 0.2]
[5. 3.6 1.4 0.2]]
위의 결과에서 data['data'].shape
는 데이터의 형태를 나타내며, (150, 4)
를 확인할 수 있습니다. 또한 data['data'][:5]
에서는 첫 5개 샘플을 출력합니다.
이제 데이터 로드와 관련된 추가 정보를 출력해 보겠습니다:
# 데이터 세트 설명 출력
print(data['DESCR'])
# 특성 이름 출력
print(data['feature_names'])
# 레이블 이름 출력
print(data['target_names'])
위의 코드를 실행하면 데이터 세트의 설명, 특성 이름 및 레이블 이름을 출력할 수 있습니다. 예를 들어, 아이리스 데이터 세트의 경우, 다음과 같은 결과를 얻을 수 있습니다:
.. _iris_dataset:
Iris plants dataset
--------------------
**Data Set Characteristics:**
:Number of Instances: 150 (50 in each of three classes)
:Number of Attributes: 4 numeric, predictive attributes and the class
:Attribute Information:
- sepal length in cm
- sepal width in cm
- petal length in cm
- petal width in cm
- class:
- Iris-Setosa
- Iris-Versicolour
- Iris-Virginica
**종속 변수** (class):
- 0: Iris-Setosa
- 1: Iris-Versicolour
- 2: Iris-Virginica
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
['setosa' 'versicolor' 'virginica']
위에서는 데이터 세트에 대한 설명, 특성 이름 및 레이블 이름을 확인할 수 있습니다.
scikit-learn은 다양한 데이터 세트를 제공하므로 작업에 맞는 데이터 세트를 로드하여 활용할 수 있습니다. 위의 예제는 그중에서도 아이리스 데이터 세트를 사용하였지만, 다른 데이터 세트로도 위와 같은 방법으로 데이터를 로드할 수 있습니다.
이로써 scikit-learn에서 데이터 세트를 로드하는 방법에 대해 알아보았습니다. 데이터 세트를 로드하는 것은 머신 러닝 및 데이터 분석 작업에서 반드시 수행해야 하는 중요한 절차입니다. scikit-learn을 사용하면 이러한 작업을 더욱 손쉽게 수행할 수 있습니다.