소개
이 실습에서는 파이썬의 인기 머신러닝 라이브러리인 scikit-learn 에서 설정 및 추정기 객체를 탐색합니다. 2 차원 배열로 표현되는 데이터셋과 scikit-learn 을 위해 이를 전처리하는 방법을 배웁니다. 또한 데이터에서 학습하고 예측을 수행하는 데 사용되는 추정기 객체의 개념을 탐색합니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 연습을 위한 Jupyter Notebook에 접근합니다.
때때로 Jupyter Notebook 이 완전히 로드되기까지 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사를 자동화할 수 없습니다.
학습 중 문제가 발생하면 Labby 에게 문의하십시오. 세션 후 피드백을 제공하면 문제를 신속하게 해결해 드리겠습니다.
데이터셋 이해
Scikit-learn 은 데이터셋을 2 차원 배열로 표현합니다. 첫 번째 축은 샘플 (관측치) 을, 두 번째 축은 특징 (변수) 을 나타냅니다. 아래는 iris 데이터셋을 사용한 예시입니다.
from sklearn import datasets
iris = datasets.load_iris()
data = iris.data
print(data.shape)
출력:
(150, 4)
iris 데이터셋은 붓꽃 150 개의 관측치로 구성되며, 각 관측치는 4 개의 특징으로 설명됩니다. 데이터 배열의 형태는 (150, 4) 입니다.
데이터 변형
때때로 데이터가 scikit-learn 에서 요구하는 형태가 아닐 수 있습니다. 이러한 경우 데이터를 (n_samples, n_features) 형태로 변환하기 위해 데이터를 전처리해야 합니다. 데이터 변형의 예시로 손글씨 숫자 이미지 1797 개 (8x8 크기) 로 구성된 digits 데이터셋이 있습니다.
digits = datasets.load_digits()
print(digits.images.shape)
출력:
(1797, 8, 8)
이 데이터셋을 scikit-learn 과 함께 사용하려면 각 8x8 이미지를 길이 64 의 특징 벡터로 변형해야 합니다.
data = digits.images.reshape((digits.images.shape[0], -1))
추정기 객체
Scikit-learn 의 추정기 객체는 데이터로부터 학습하고 예측을 수행하는 데 사용됩니다. 분류, 회귀, 군집화 알고리즘, 또는 원시 데이터에서 유용한 특징을 추출하는 변환기일 수 있습니다. 추정기 객체의 간단한 예시를 만들어 보겠습니다.
from sklearn.base import BaseEstimator
class Estimator(BaseEstimator):
def __init__(self, param1=0, param2=0):
self.param1 = param1
self.param2 = param2
def fit(self, data):
## fit 메서드의 구현
pass
estimator = Estimator()
데이터 적합
Scikit-learn 이 구현하는 주요 API 는 추정기 객체의 fit 메서드입니다. 이 메서드는 데이터셋 (보통 2 차원 배열) 을 입력으로 받습니다. 추정기를 사용하여 데이터를 적합하려면 fit 메서드를 호출할 수 있습니다.
estimator.fit(data)
추정기 매개변수
추정기 객체는 동작에 영향을 미치는 매개변수를 가질 수 있습니다. 이러한 매개변수는 추정기가 인스턴스화될 때 설정하거나 해당 속성을 수정하여 설정할 수 있습니다. 예시 추정기에 대한 몇 가지 매개변수를 설정해 보겠습니다.
estimator = Estimator(param1=1, param2=2)
print(estimator.param1)
출력:
1
추정된 매개변수
데이터가 추정기로 적합될 때, 매개변수는 데이터로부터 추정됩니다. 모든 추정된 매개변수는 추정기 객체의 속성이며, 밑줄 (_) 로 끝납니다. 예를 들어:
print(estimator.estimated_param_)
요약
이 실습에서는 scikit-learn 의 데이터셋, 데이터 형태 변경 방법, 그리고 추정기 객체의 개념에 대해 배웠습니다. 추정기를 사용하여 데이터를 적합하고, 매개변수를 설정하며, 추정된 매개변수에 접근하는 방법을 탐색했습니다. 이러한 추정기 객체 설정 및 사용에 대한 이해는 통계 학습 작업에 scikit-learn 을 사용할 때 필수적입니다.