
6
장
알고리즘 체인과 파이프라인
391
4
장에서 보았듯이 입력 데이터의 표현 형태에 매우 민감한 머신러닝 알고리즘이 많습니다. 직
접 데이터의 스케일을 조정하고 특성을 연결하는 것부터 시작해서
3
장에서처럼 비지도 학습으
로 특성을 만들기까지 합니다. 따라서 대부분의 머신러닝 애플리케이션은 하나의 알고리즘으
로 이뤄져 있지 않고, 여러 단계의 처리 과정과 머신러닝 모델이 연결되어 있습니다. 이번 장에
서는 데이터 변환 과정과 머신러닝 모델을 쉽게 연결해주는
Pipeline
파이썬 클래스를 설명하
겠습니다. 특히
Pipeline
과
GridSearchCV
를 함께 사용하여 각 처리 단계에서 필요한 매개변
수 탐색을 동시에 수행할 것입니다.
모델 체인의 좋은 예로,
3
장에서
cancer
데이터셋을
MinMaxScaler
로 전처리를 해서 커널
SVM
의 성능을 크게 향상시켰었습니다.
1
다음은 데이터를 분할하고 최솟값, 최댓값을 찾아 데
이터의 스케일을 바꾸고
SVM
을 훈련시키는 코드입니다.
In [3]:
from sklearn.svm import SVC
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing