포켓몬 목격 정보: 계층적 클러스터링
이전 연습 문제에서 이어서 전설의 포켓몬 목격 정보를 조사해 보겠습니다. 앞서 그린 산점도에서 목격 지점이 밀집된 두 영역을 확인하셨죠. 이는 점들이 두 개의 클러스터로 나뉘는 경향이 있음을 의미합니다. 이번 연습에서는 계층적 클러스터링을 사용해 목격 지점을 두 개의 클러스터로 묶어 보겠습니다.
'x'와 'y'는 목격 위치의 X, Y 좌표를 담은 열이며, pandas DataFrame df에 저장되어 있습니다. 다음 라이브러리를 사용할 수 있습니다: matplotlib.pyplot은 plt, seaborn은 sns, pandas는 pd.
이 연습은 강의의 일부입니다
Python으로 배우는 군집 분석
연습 안내
linkage와fcluster라이브러리를 임포트하세요.linkage()함수로 ward 방법을 사용해 거리(연결)를 계산하세요.fcluster()함수로 각 데이터 포인트에 대해 클러스터 개수를 2로 하여 클러스터 레이블을 생성하세요.- seaborn으로 점을 그린 뒤, 각 클러스터에 다른 색을 지정하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import linkage and fcluster functions
from scipy.cluster.hierarchy import ____, ____
# Use the linkage() function to compute distance
Z = ____(____, 'ward')
# Generate cluster labels
df['cluster_labels'] = ____(____, ____, criterion='maxclust')
# Plot the points with seaborn
sns.scatterplot(x=____, y=____, hue=____, data=df)
plt.show()