빅데이터 전문가 되기

[scikit-learn] pipeline 본문

Python/skcikit-learn

[scikit-learn] pipeline

지야소이 2023. 4. 27. 21:26

👀 pipeline 이란?

: 최종 추정기가 포함된 변환 파이프라인. 

 변환 목록과 최종 추정기를 순차적으로 적용합니다. 파이프라인의 중간 단계는 '변환'이여야 합니다.

 파이프라인의 목적은 서로 다른 매개 변수를 설정하면서 함께 교차 검증할 수 있는 여러 단계를 조합하는 것입니다.

pipeline(steps, *, memory = None, verbose = False)

 

👉 속성

- named_steps : 이름으로 단계에 액세스

- classes_ : 클래스 레이블

- n_features_in_ : fit 첫 번째 단계 방법 중에 표시되는 기능의 수

- feature_names_in_ : 첫 번째 단계 방법 중에 표시되는 기능의 이름

 

 

예시로 어떻게 pipeline을 어떻게 사용하는지 확인해보겠습니다.

from sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline

X, y = make_classification(random_state=0)
X_train, X_test, y_train, y_test = train_test_split( X, y, random_state=0 )

pipe = Pipeline([('scaler', StandardScaler()), ('svc', SVC())])

# 파이프라인은 다른 추정기처럼 사용할 수 있음.
# test set이 train set에 누출되는 것을 방지

pipe.fit(X_train, y_train)

pipe.score(X_test, y_test)

> 0.88

'Python > skcikit-learn' 카테고리의 다른 글

[skcikit-learn] Cross Validation(교차 검증)  (0) 2023.04.28
[scikit-learn] Linear Models  (0) 2023.04.28
Comments