본문 바로가기

Theory/MachineLearning

전처리와 학습 과정을 하나의 과정으로 실행하는 sklearn의 pipeline

아마 Python으로 머신러닝을 공부하시는 분들은 scikit-learn을 많이들 사용하실텐데요. 보통 결정나무를 제외하면 대부분 전처리를 꼭 하게 됩니다. 하다못해 Scaler라도 적용을 하겠죠. 이 때 이런 과정 - Scaler와 모델의 fit 과정이라도 한 번에 진행하면 편할 수도 있습니다. 여러 방법이 있겠지만, 그 중 하나는 pipeline입니다.

일단, 이번에는 wine 데이터를 사용해 보도록 하겠습니다. 이 데이터는 그렇게 중요하지 않구요. 그냥, pipeline 예제만 보일려고 하는 것입니다. 간단하게 red / white 와인을 분류해보려는 시도이지요^^

간단하게 특성 X과 라벨 y을 잡았구요~

pipeline을 StandardScaler를 통과하고 DecisionTreeClassifier를 통과하라고 했습니다. 혹시 아실지 모르겠는데, StandardScaler는 DecisionTree에 별 영향이 없습니다. 그냥 어쩌다 보니 이렇게 되었는데 , pipeline을 보이기 위해서일 뿐입니다.^^

pipe를 pipeline으로 잡았고, 확인해보면 이런 step으로 진행한다는 것을 보여줍니다.

각 과정을 따로 확인할 수도 있구요~

직접 호출할 수도 있습니다.

이미 pipeline이 구성된 상태에서 set_params를 이용해서 설정을 바꿔줄 수 있습니다. 이때, 각과정의 이름과 그 과정의 속성 사이에는 언더바를 두 개 '__' 연달아 넣어서 지정하면 됩니다.

fit 시키는 것은 아주 간편하죠.~~

반응형