시작하기무료로 시작하기

모든 것을 하나로 묶기

부정맥 탐지 스타트업의 파이프라인에 대해 두 가지 우려가 있어요:

  • 앱은 모든 연령대의 환자 데이터를 학습했지만, 실제 사용자는 주로 젊은 피트니스 이용자예요. 도메인 시프트가 의심되어 50세 초과 예시는 제외하려고 해요.
  • 과적합도 여전히 걱정되어, 랜덤 포레스트 분류기의 복잡도를 낮추고 일부 특성을 선택하면 도움이 되는지 확인하고자 해요.

SelectKBest() 특성 선택 단계와 RandomForestClassifier로 구성된 파이프라인을 만들 거예요. 둘 다 이미 임포트되어 있어요. 또한 GridSearchCV(), Pipeline, numpynp로, pickle에도 접근할 수 있어요. 데이터는 arrh로 제공돼요.

이 연습은 강의의 일부입니다

Python으로 설계하는 Machine Learning 워크플로

강의 보기

연습 안내

  • 단계 이름 ftSelectKBest()를, 단계 이름 clfRandomForestClassifier()를 넣어 파이프라인을 만드세요.
  • SelectKBest()kRandomForestClassifier()max_depth를 튜닝할 파라미터 그리드를 만드세요.
  • 50세 미만만 포함한 데이터에 대해 GridSearchCV()로 해당 그리드에 맞춰 파이프라인을 최적화하세요.
  • 최적화된 파이프라인을 프로덕션 배포를 위해 피클로 저장하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create a pipeline 
pipe = Pipeline([
  ('ft', ____), ('clf', ____(random_state=2))])

# Create a parameter grid
grid = {'ft__k':[5, 10], '____':[10, 20]}

# Execute grid search CV on a dataset containing under 50s
grid_search = ____(pipe, param_grid=grid)
arrh = arrh.____[____(arrh['age'] < 50)]
____.____(arrh.drop('class', 1), arrh['class'])

# Push the fitted pipeline to production
with ____('pipe.pkl', ____) as file:
    pickle.dump(____, file)
코드 편집 및 실행