곡물 클러스터링 평가하기
이전 연습 문제에서 관성(inertia) 플롯을 보고, 곡물 데이터에 대해 클러스터 수 3이 적절하다는 것을 확인했어요. 실제로 이 곡물 샘플은 "Kama", "Rosa", "Canadian"의 3가지 서로 다른 품종이 섞여 있습니다. 이번 연습에서는 곡물 샘플을 세 개의 클러스터로 묶고, 교차표를 통해 클러스터와 품종을 비교해 보세요.
곡물 샘플이 담긴 배열 samples와, 각 샘플의 품종을 나타내는 리스트 varieties가 주어져 있습니다. Pandas(pd)와 KMeans는 이미 임포트되어 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 Unsupervised Learning
연습 안내
- 클러스터 수가
3인KMeans모델model을 만드세요. model의.fit_predict()메서드를 사용해samples에 학습시키고 클러스터 레이블을 도출하세요..fit_predict()는.fit()후.predict()를 호출하는 것과 같습니다.- 두 개의 열
'labels'와'varieties'를 갖는 DataFramedf를labels와varieties를 각각 열 값으로 사용해 만드세요. 이 부분은 이미 준비되어 있습니다. pd.crosstab()을df['labels']와df['varieties']에 적용해 각 클러스터 레이블과 품종이 일치한 횟수를 계산하고, 결과를ct에 할당하세요.- 완료되면 제출을 눌러 교차표를 확인하세요!
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create a KMeans model with 3 clusters: model
model = ____
# Use fit_predict to fit model and obtain cluster 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)