1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 배우는 Unsupervised Learning

Connected

연습 문제

KMeans로 주식 클러스터링하기

이번 연습에서는 각 거래일의 시가와 종가 차이(달러 기준)로 계산한 일일 주가 변동을 사용해 회사들을 클러스터링해 보겠습니다. 2010년부터 2015년까지의 일일 변동치가 담긴 NumPy 배열 movements가 주어지며(출처: Yahoo! Finance), 각 행은 한 회사, 각 열은 한 거래일을 나타냅니다.

주가 수준은 회사마다 다릅니다. 이를 보정하기 위해 파이프라인의 시작에 Normalizer를 포함하세요. Normalizer는 클러스터링을 시작하기 전에 각 회사의 주가를 상대적 스케일로 개별적으로 변환합니다.

Normalizer()는 이전 연습에서 사용한 StandardScaler()와 다릅니다. StandardScaler()가 평균을 제거하고 분산을 1로 맞춰 특성(예: 이전 연습의 물고기 데이터 특성)을 표준화하는 반면, Normalizer()는 다른 샘플과 무관하게 각 샘플—여기서는 각 회사의 주가—을 재스케일합니다.

KMeans와 make_pipeline은 이미 임포트되어 있습니다.

지침

100 XP
  • sklearn.preprocessing에서 Normalizer를 임포트하세요.
  • normalizer라는 이름의 Normalizer 인스턴스를 생성하세요.
  • 클러스터 수가 10인 kmeans라는 이름의 KMeans 인스턴스를 생성하세요.
  • make_pipeline()으로 normalizer와 kmeans를 연결한 파이프라인 pipeline을 생성하세요.
  • movements 배열에 파이프라인을 적합(fit)하세요.