[머신러닝] sklearn의 pipeline 구축

hhs012·2022년 1월 27일
1

ML

목록 보기
18/22
post-custom-banner

머신러닝을 할 때 보통 데이터 전처리를 하게 되는데, 전처리와 모델 fit과정을 pipeline을 통해 한 번에 진행할 수 있다. 즉, 데이터의 연속된 변환을 순차적으로 적용 및 학습을 할 수 있다.

pipeline은 특히 PCA나 One-hot encoding과 같이, train set 정보를 기억해서 test set에 적용해야 할 때 유용하다.

# pipeline
from sklearn.pipeline import Pipeline
# encoder
from sklearn.preprocessing import StandardScaler
# machine learning models
from sklearn.tree import DecisionTreeClassifier
# metrics

#사실 StandardScaler는 DecisionTree에 별 영향을 미치지 않음
pipe = Pipeline([('scaling',StandardScaler()),
               ('model',DecisionTreeClassifier())])
pipe.fit(X_train,y_train)
pred = pipe.predict(X_test)
                     
accuracy = accuracy_score(y_test,pred)
f1 = f1_score(y_test,pred)
print(f"f1:{f1:4f} accuracy:{accuracy:.4f}")
post-custom-banner

0개의 댓글