시작하기무료로 시작하기

파이프라인에서 사용자 정의 함수 변환기 사용하기

어느 시점에 비만인(individuals with obesity) 사람들에게는 센서 성능이 좋지 않을 수 있다는 이야기를 들었습니다. 이전에는 가중치로 대응했지만, 이 정보가 피처 엔지니어링에도 유용할 수 있다고 보고, 개인의 기록된 몸무게를 비만 여부를 나타내는 지표로 대체하려고 합니다. 이를 파이프라인으로 구현하려고 합니다. numpynp로 제공되며, RandomForestClassifier(), FunctionTransformer(), GridSearchCV()를 사용할 수 있습니다.

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

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

강의 보기

연습 안내

  • 사용자 정의 피처 추출기를 정의하세요. 이 함수는 입력의 수정된 복사본을 반환해야 합니다.
  • 첫 번째 열의 각 값을, 그 열의 평균에 어떤 상수를 곱한 임계값을 초과하는지 여부(지표)로 대체하세요.
  • 위의 피처 추출기를 변환기로 바꾸고, 랜덤 포레스트 분류기와 함께 파이프라인에 넣으세요.
  • 그리드 서치 CV를 사용해 피처 추출기의 곱셈 상수 multiplier에 대해 1, 2, 3 값을 시도하세요.

실습형 인터랙티브 연습

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

# Define a feature extractor to flag very large values
def more_than_average(X, multiplier=1.0):
  Z = ____
  Z[:,1] = ____ > multiplier*np.mean(Z[:,1])
  return Z

# Convert your function so that it can be used in a pipeline
pipe = Pipeline([
  ('ft', ____(____)),
  ('clf', RandomForestClassifier(random_state=2))])

# Optimize the parameter multiplier using GridSearchCV
params = ____
grid_search = GridSearchCV(pipe, param_grid=params)
코드 편집 및 실행