1 분 소요

원본 사이트: https://scikit-learn.org/stable/tutorial/statistical_inference/settings.html


통계 학습: scikit-learn의 설정과 추정기 객체

데이터 세트

scikit-learn은 2D 배열로 표시되는 하나 이상의 데이터 세트에서 학습 정보를 다룹니다. 데이터 세트는 다차원 관측치 배열로 이해할 수 있습니다. 이 배열들의 첫 번째 축은 samples 축으로, 두 번째 축은 features 축이라 부릅니다.

scikit-learn에서 제공하는 간단한 예: iris 데이터 세트
from sklearn import datasets    # sklearn의 datasets를 임포트함
iris = datasets.load_iris()     # iris dataset을 불러옴
data = iris.data                # data에 iris.data를 넣음
data.shape                      # data의 형태: 4개의 특성으로 이루어진 150개의 관측치
(150, 4)
이 데이터 세트는 4개의 특성(꽃잎과 꽃받침의 길이와 너비)을 가진 150 개의 irises 관측치로 만들어졌습니다: iris.DESCR에 상세히 적혀있습니다.


데이터가 초기에 (n_samples, n_features) 모양이 아닌 경우 scikit-learn에서 사용하기 위해 전처리해야 합니다.

데이터 재형성의 예는 digits 데이터 세트입니다.
digits 데이터세트는 필기 숫자인 8x8 이미지가 1797 개로 구성됩니다.
digits = datasets.load_digits()   # digits dataset을 불러옴
digits.images.shape               # digits.images의 형태: 8x8 이미지로 이루어진 1797개의 관측치
(1797, 8, 8)
import matplotlib.pyplot as plt   # 시각화를 위한 matplotlib.pyplot 을 임포트
plt.imshow(digits.images[-1],     # digits의 이미지 중 가장 마지막 이미지를 시각화
           cmap=plt.cm.gray_r)    # colormap 형식은 plt.cm.gray_r을 사용(gray_reverse)
<matplotlib.image.AxesImage at 0x7f0b32626a50>

이 데이터 세트를 scikit-learn에서 사용하기 위해서는 각 8x8 이미지들을 64 길이의 특성 벡터로 변환시켜야 합니다.
data = digits.images.reshape(         # digits.images.shape[0] = 1797
    (digits.images.shape[0], -1)      # data의 shape은 (1797, 64)로 변환됨
)


추정기 객체

학습 데이터: scikit-learn에 의해 구현된 주요 API는 추정기 API입니다. 추정기는 데이터에서 학습하는 모든 객체입니다. 분류, 회귀, 군집 알고리즘 또는 원시 데이터로부터 유용한 기능을 추출/필터링하는 변환기일 수 있습니다.


모든 추정기 객체는 데이터세트(일반적으로 2차원 배열)를 다루는 fit 메서드를 지원합니다.

estimator.fit(data)

추정기의 파라미터: 추정기의 모든 파라미터는 인스턴스화될 때 또는 해당 속성을 수정하여 설정할 수 있습니다:

estimator = Estimator(param1=1, param2=2)
estimator.param1
1

추정된 파라미터: 데이터에 추정기가 학습되면 해당 데이터에서 매개변수가 추정됩니다. 추정된 모든 매개변수는 밑줄로 끝나는 추정기 객체의 속성입니다:

estimator.estimated_param_


ⓒ 2007 - 2021, scikit-learn developers (BSD License). Show this page source

댓글남기기