본문 바로가기

머신러닝

# scikit-learn의 pipeline(sklearn.pipeline)

사이킷런을 이용하여 data의 Nan값을 해당 feature의 중앙값으로 대체하고, 모든 feature들의 scale을 조정하는 전처리 코드를 작성해 보겠습니다.

 우선 SimpleImputer로 train_set을 estimate -> trasform하고, MinmaxScaler로 다시 한번 estimate-> transform의 과정을 거칩니다.

 

 전처리를 한 train_set으로 모델을 훈련한다면, 새로운 test_set을 모델에 넣기 위해서는 test_set 또한 동일하게 imputing과정과 scaleing과정을 거처야 합니다.

 연속적으로 (추정 -> 변환)의 과정을 거친다면 이 과정을 하나로 묶을 수 있다 생각에서 파이프라인이 등장하였습니다. 사이킷런의 파이프라인은 imputer와 scaler의 역할을 연속적으로 실행하는 하나의 추정기를 만들어 줍니다.

 

이렇게 파이프라인이 선언되면 이 pipeline은 마치 새로운 추정기처럼 사용할 수 있습니다.

 

이제 학습된 pipeline으로 test_set또한 transform할 수 있습니다.