Machine Learning
sklearn Pipeline 파이프라인
SKaSha
2020. 1. 20. 08:19
사이킷런의 Pipeline 클래스는 연속된 변환을 순차적으로 처리할 수 있는 기능을 제공하는 유용한 래퍼(Wrapper) 도구입니다.
pipe_lr = make_pipeline(StandardScaler(),
PCA(n_components=2),
LogisticRegression(solver='liblinear', random_state=1))
pipe_lr.fit(X_train, y_train)
y_pred = pipe_lr.predict(X_test)
print('테스트 정확도: %.3f' % pipe_lr.score(X_test, y_test))
make_pipeline
함수는
사이킷런 변환기(입력에 대해 fit 메서드와 transform 메서드를 지원하는 객체)와
그 뒤에 fit 메서드와 predict 메서드를 구현한 사이킷런 추정기를 연결할수 있습니다.
파이프라인의 fit()
메서드를 호출하면 모든 변환기의 fit_transform()
메서드를 순차적으로 호출하면서 각 단계의 output을 다음 단계의 input으로 전달합니다.
마지막 단계에서는 fit()
메서드만 호출하게 됩니다.
파이프라인의 predict()
메서드를 호출하면 매개변수로 전달된 데이터가 각 단계의 transform()
메서드를 통과하게 됩니다.
마지막 단계에서는 추정기 객체가 변환된 데이터에 대한 예측 값을 반환합니다.
참고 서적
머신러닝 교과서 with 파이썬, 사이킷런, 텐서플로