Scikit-learn 데이터셋 및 추정기 탐색

Beginner

This tutorial is from open-source community. Access the source code

소개

이 실습에서는 파이썬의 인기 머신러닝 라이브러리인 scikit-learn 에서 설정 및 추정기 객체를 탐색합니다. 2 차원 배열로 표현되는 데이터셋과 scikit-learn 을 위해 이를 전처리하는 방법을 배웁니다. 또한 데이터에서 학습하고 예측을 수행하는 데 사용되는 추정기 객체의 개념을 탐색합니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 연습을 위한 Jupyter Notebook에 접근합니다.

때때로 Jupyter Notebook 이 완전히 로드되기까지 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사를 자동화할 수 없습니다.

학습 중 문제가 발생하면 Labby 에게 문의하십시오. 세션 후 피드백을 제공하면 문제를 신속하게 해결해 드리겠습니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 83%입니다.학습자들로부터 94%의 긍정적인 리뷰율을 받았습니다.

데이터셋 이해

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 을 사용할 때 필수적입니다.