시작하기무료로 시작하기

저분산 레시피 만들기

tidymodels 패키지에는 각각 step_zv()step_nzv() 함수가 있어, 분산이 없거나(nearly zero 포함) 거의 0에 가까운 특성을 더 나은 방식으로 걸러낼 수 있습니다. 이 레시피 단계들은 각 특성에서 고유값의 개수와 가장 빈도가 높은 값의 빈도 비율을 확인해 저분산 특성을 식별합니다. 이 방법은 앞서 사용한 단순한 분산 임계값보다 더 견고합니다.

또한, 특성 분산을 정규화하기 위해 step_scale() 레시피 단계를 사용합니다. 서로 다른 특성 간 분산을 비교 가능하게 만들기 위해 데이터를 정규화하는 것은 항상 좋은 방법임을 기억하세요.

house_sales_df가 제공되어 있습니다. 목표 변수는 price입니다. tidyversetidymodels 패키지도 미리 로드되어 있습니다.

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

R에서의 차원 축소

강의 보기

연습 안내

  • 저분산 필터를 위한 레시피를 정의하고 house_sales_df로 준비(prepare)하세요.
  • 레시피를 house_sales_df에 적용하여 필터링된 데이터를 filtered_house_sales_df에 저장하세요.
  • step_nzv() 단계에서 레시피가 필터링한 특성들을 표시하세요.

실습형 인터랙티브 연습

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

# Prepare recipe
low_variance_recipe <- recipe(___ ~ ___, ___ = ___) %>% 
  step_zv(___) %>% 
  ___(___) %>% 
  ___(___) %>% 
  prep()

# Apply recipe
filtered_house_sales_df <- ___(___, new_data = ___)

# View list of features removed by the near-zero variance step 
tidy(___, number = ___)
코드 편집 및 실행