시작하기무료로 시작하기

영화 클러스터의 상위 용어

이제 희소 행렬을 만들었으니, 클러스터 중심을 구하고 각 클러스터에서 상위 세 개 용어를 출력해 봅시다. kmeans() 함수가 처리할 수 있도록 희소 행렬 tfidf_matrix.todense() 메서드로 일반 행렬로 변환하세요. 그런 다음 .get_feature_names() 메서드를 사용해 tfidf_vectorizer 객체에 포함된 용어 목록을 가져오세요. Python의 zip() 함수는 두 리스트를 묶어 줍니다.

이 연습 문제에서는 앞에서 만든 tfidf_vectorizer 객체와 희소 행렬 tfidf_matrix가 그대로 제공됩니다. SciPy에서 kmeans가 임포트되어 있습니다.

데이터 포인트가 많을수록 생성되는 클러스터가 더 명확해집니다. 다만 계산 비용이 커지므로, 여기 연습 문제에서는 크게 확장하기 어렵다는 점을 참고하세요.

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

Python으로 배우는 군집 분석

강의 보기

연습 안내

  • kmeans() 함수를 사용해 클러스터 중심을 구하세요.
  • tfidf_vectorizer 객체에서 용어 목록을 가져오세요.
  • 각 클러스터의 상위 3개 용어를 출력하세요.

실습형 인터랙티브 연습

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

num_clusters = 2

# Generate cluster centers through the kmeans function
cluster_centers, distortion = ____

# Generate terms from the tfidf_vectorizer object
terms = tfidf_vectorizer.____()

for i in range(num_clusters):
    # Sort the terms and print top 3 terms
    center_terms = dict(zip(____, ____))
    sorted_terms = sorted(____, key=center_terms.get, reverse=True)
    print(____)
코드 편집 및 실행