1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 설계하는 Machine Learning 워크플로

Connected

연습 문제

윈도 크기 튜닝하기

부정맥(arrhythmia) 데이터셋에서 최적의 윈도 크기가 50인지 직접 확인해 보려고 해요. 데이터셋은 pandas 데이터 프레임 arrh로 제공되며, 시각 t_now까지의 부분 데이터만 사용할 거예요. 테스트 데이터는 X_test, y_test로 제공돼요. 10에서 100까지 여러 윈도 크기를 시도하고, 각 윈도에 대해 나이브 베이즈 분류기를 학습한 뒤 테스트 데이터에서의 F1 점수를 평가하고, 가장 성능이 좋은 윈도 크기를 선택하세요. 또한 numpy는 np로 사용할 수 있고, 함수 f1_score()는 이미 임포트되어 있어요. 마지막으로 각 윈도의 정확도를 저장할 빈 리스트 accuracies가 미리 초기화되어 있어요.

지침

100 XP
  • .loc() 메서드를 사용해 t_now에서 멈추는 크기 w_size의 슬라이딩 윈도 인덱스를 정의하세요.
  • 슬라이딩 윈도에서 class 열을 제거해 X를 만들고, 제거한 그 열을 y로 저장하세요.
  • 나이브 베이즈 분류기를 X와 y에 학습시키고, 이를 사용해 테스트 데이터 X_test의 레이블을 예측하세요.
  • 각 윈도 크기에 대한 예측의 F1 점수를 계산하고, 가장 성능이 좋은 윈도 크기를 찾으세요.