클러스터 레이블 추출하기
이전 연습 문제에서 높이 6에서 곡물 샘플의 중간 클러스터링이 3개의 클러스터를 갖는 것을 확인했어요. 이제 fcluster() 함수를 사용해 이 중간 클러스터링의 레이블을 추출하고, 교차표를 통해 레이블을 곡물 품종과 비교해 보세요.
계층적 클러스터링은 이미 수행되었고, mergings는 linkage() 함수의 결과예요. 리스트 varieties에는 각 곡물 샘플의 품종이 담겨 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 Unsupervised Learning
연습 안내
- 다음을 임포트하세요:
pandas를pd로.scipy.cluster.hierarchy에서fcluster.
mergings에 대해fcluster()함수를 사용해 평면형 계층적 클러스터링을 수행하세요. 최대 높이는6으로 지정하고, 키워드 인수criterion='distance'를 설정하세요.- 두 열
'labels'와'varieties'를 가진 DataFramedf를 생성하고, 각각 열 값으로labels와varieties를 사용하세요. 이는 이미 준비되어 있어요. df['labels']와df['varieties']사이의 교차표ct를 만들어, 각 곡물 품종이 각 클러스터 레이블과 몇 번 일치하는지 집계하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Perform the necessary imports
import ____ as ____
from ____ import ____
# Use fcluster to extract labels: labels
labels = ____
# Create a DataFrame with labels and varieties as columns: df
df = pd.DataFrame({'labels': labels, 'varieties': varieties})
# Create crosstab: ct
ct = ____
# Display ct
print(ct)