본문 바로가기

Programming/Machine Learning

파이프라인

Pipeline

- 여러 처리 단계를 하나의 scikit-learn 추정기 형태로 묶어주는 파이썬 클래스

- fit, predict, score 메서드르 제공.

- 분류기 같은 지도 학습 모델과 (데이터 스케일 조정 같은) 전처리 단계를 연결.

 

import pandas as pd
# 데이터셋 가져오기
data = pd.read_csv('경로/파일이름.csv', index_col='인덱스로 사용할 컬럼이름')

# 데이터셋, X와 y로 나눠주기
y = pd.DataFrame(data['타겟 컬럼이름'])
X = data.drop('타겟 컬럼이름', axis=1)

from sklearn.pipeline import make_pipeline
# StandardScaling과 LinearRegression을 동시 생성
pipe = make_pipeline(StandardScaler(), LinearRegression())

#LinearRegression의 규제 조절하는 매개변수 C(0.01부터 100까지 로그 스케일 단위로 지정)
param_grid = {'logisticregression__C' : [0.01, 0.1, 1, 10, 100]}

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

grid = GridSearchCV(pipe, param_grid, cv=5)
grid.fit(X_train, y_train)

# 찾은 최적 매개변수로 일반화성능을 평가
grid.score(X_test, y_test)

# 최적 매개변수
print(grid_search.best_params_)
# 최고 교차 검증 점수
print(gird_search.best_score_)
# 최고 성능 모델
print(gird_search.best_estimator_)

'Programming > Machine Learning' 카테고리의 다른 글

DataFrame 실습  (0) 2020.02.16
데이터 전처리  (0) 2020.02.16
이진 분류  (0) 2020.02.16
그리드 서치  (0) 2020.02.16
k-겹 교차검증  (0) 2020.02.16