시작하기무료로 시작하기

K-means 학습

이제 RDD가 학습 준비가 되었으니, 2번째 파트에서는 계산 시간을 절약하기 위해 k를 13부터 16까지로 설정해 테스트하고, elbow 방법으로 올바른 k를 선택해 보겠습니다. Elbow 방법은 서로 다른 k 값에 대해 K-means 클러스터링을 수행하고, Within Set Sum of Squared Error(WSSSE)를 계산한 뒤, WSSSE가 급격히 감소하는 지점(즉, elbow가 생기는 지점)을 기준으로 최적의 k를 고르는 아이디어입니다. 그런 다음, 선택한 최적의 k로 모델을 다시 학습하고 마지막으로 centroid(클러스터 중심)를 구합니다.

워크스페이스에는 이미 SparkContext scrdd_split_int RDD가 준비되어 있다는 점을 기억하세요.

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

PySpark로 배우는 빅데이터 기초

강의 보기

연습 안내

  • KMeans 모델을 k=13부터 16까지 학습하고 각 k에 대한 WSSSE를 출력하세요.
  • 최적의 k로 KMeans 모델을 다시 학습하세요.
  • 최적의 k로 학습된 KMeans 모델의 클러스터 중심(centroid)을 가져오세요.

실습형 인터랙티브 연습

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

# Train the model with clusters from 13 to 16 and compute WSSSE
for clst in range(13, 17):
    model = KMeans.____(rdd_split_int, clst, seed=1)
    WSSSE = rdd_split_int.____(lambda point: error(point)).reduce(lambda x, y: x + y)
    print("The cluster {} has Within Set Sum of Squared Error {}".format(clst, ____))

# Train the model again with the best k
model = KMeans.train(rdd_split_int, k=____, seed=1)

# Get cluster centers
cluster_centers = model.____
코드 편집 및 실행