Scikit-Learn 추정기 및 파이프라인

Beginner

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

소개

이 실습에서는 scikit-learn 을 사용하여 추정기 (estimators) 와 파이프라인 (pipelines) 을 표시하는 다양한 방법을 배웁니다. 추정기와 파이프라인은 scikit-learn 패키지의 필수적인 부분으로, 머신러닝 모델을 구축하고 평가하는 데 사용됩니다.

VM 팁

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

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

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

압축된 텍스트 표현

추정기를 표시하는 첫 번째 방법은 압축된 텍스트 표현입니다. 추정기는 문자열로 표시될 때 기본값이 아닌 값으로 설정된 매개변수만 표시합니다. 이는 시각적인 노이즈를 줄이고 인스턴스를 비교할 때 차이점을 더 쉽게 파악할 수 있도록 합니다.

from sklearn.linear_model import LogisticRegression

## l1 패널티를 가진 로지스틱 회귀의 인스턴스 생성
lr = LogisticRegression(penalty="l1")

## 추정기 표시
print(lr)

풍부한 HTML 표현

추정기를 표시하는 두 번째 방법은 풍부한 HTML 표현입니다. 노트북에서 추정기와 파이프라인은 풍부한 HTML 표현을 사용합니다. 이는 파이프라인 및 기타 복합 추정기의 구조를 요약하는 데 특히 유용하며, 세부 정보를 제공하기 위한 상호 작용 기능을 갖추고 있습니다.

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.impute import SimpleImputer
from sklearn.compose import make_column_transformer
from sklearn.linear_model import LogisticRegression

## 숫자형 및 범주형 데이터에 대한 파이프라인 생성
num_proc = make_pipeline(SimpleImputer(strategy="median"), StandardScaler())
cat_proc = make_pipeline(
    SimpleImputer(strategy="constant", fill_value="missing"),
    OneHotEncoder(handle_unknown="ignore"),
)

## 특정 열에 숫자형 및 범주형 파이프라인을 적용하는 전처리기 생성
preprocessor = make_column_transformer(
    (num_proc, ("feat1", "feat3")), (cat_proc, ("feat0", "feat2"))
)

## 전처리기와 로지스틱 회귀를 적용하는 파이프라인 생성
clf = make_pipeline(preprocessor, LogisticRegression())

## 파이프라인 표시
clf

요약

이 실습에서 scikit-learn 을 사용하여 추정기와 파이프라인을 표시하는 두 가지 방법, 즉 압축된 텍스트 표현과 풍부한 HTML 표현에 대해 배웠습니다. 이러한 표현은 파이프라인 및 기타 복합 추정기의 구조를 요약하고 서로 다른 인스턴스를 비교하는 데 유용할 수 있습니다. 이러한 기술을 사용함으로써 머신 러닝 모델과 그 성능에 대한 이해도를 높일 수 있습니다.