
pipeline
- ChatGPT가 설명하는
pipeline이란?
Pipeline 은 Scikit-Learn에서 데이터 전처리와 모델 학습을 체계적으로 연결해주는 도구입니다. 데이터 분석과 머신러닝 프로세스는 여러 단계를 포함하는데, 각 단계를 하나하나 실행하면 번거롭고 코드가 복잡해질 수 있습니다. 이때 Pipeline을 사용하면 각 단계를 체계적으로 연결하여 코드의 가독성과 재사용성을 높일 수 있습니다.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
# 1. 데이터 로드
data = load_iris()
X = data.data
y = data.target
# 2. 데이터 분할
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 3. Pipeline 구성
pipeline = Pipeline([
('scaler', StandardScaler()), # 스케일링 단계
('logistic_regression', LogisticRegression()) # 로지스틱 회귀 모델])
# 4. 모델 학습
pipeline.fit(X_train, y_train)
# 5. 모델 평가
accuracy = pipeline.score(X_test, y_test)
print(f"Test Accuracy: {accuracy:.2f}")
이처럼 Scikit-Learn의 Pipeline 기능을 활용하면 데이터 전처리와 모델링을 간편하게 처리할 수 있습니다. 더 자세한 정보는 Scikit-Learn 공식 문서에서 확인할 수 있습니다.








- Scaler 과정과 더불어, 아래의 과정이 pipeline을 통해서 생략
생략과정1)

생략과정2)



- 이전에 나왔던 개념을 다시 살펴보면,
예측성능이 과하게 떨어지는 현상.결국 교차검증 이란 데이터에 적용한 예측모델 의 성능을 정확히 표현하기 위해서 유용한 기능이다.
- 기존에 Train data와 Test데이터를 통해서 Accuracy를 검증했던 방법. → holdout 방법

- 기존과 다른 k-fold cross Validation(검증) → 각각의 Validation에서 나온 Acc의 평균을 전체 Acc로 본다.


- 필요한 라이브러리 Import 및 샘플데이터 생성 (array )

- 데이터를 splits = 2로 분할, 즉 k-fold에서 k = 2






k-fold 에서 k 는 통상 3, 5를 주로 사용하며, 현재 5 적용. 아직 진행된 건 아닌상황




- 참고 : train, test validation data 조회

- (예측)모델의 성능을 확보하기 위해 조절하는 설정 값

- Max_depth 튜닝, GridSearchCV 적용





- pipeline에도 적용 ( GridSearchCV)


