시작하기무료로 시작하기

KMeans로 주식 클러스터링하기

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

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

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

KMeansmake_pipeline은 이미 임포트되어 있습니다.

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

Python으로 배우는 Unsupervised Learning

강의 보기

연습 안내

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

실습형 인터랙티브 연습

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

# Import Normalizer
____

# Create a normalizer: normalizer
normalizer = ____

# Create a KMeans model with 10 clusters: kmeans
kmeans = ____

# Make a pipeline chaining normalizer and kmeans: pipeline
pipeline = ____

# Fit pipeline to the daily price movements
____
코드 편집 및 실행