Оцінювання кластеризації зерна
У попередній вправі ви побачили з графіка інерції, що 3 — це добра кількість кластерів для даних про зерно. Насправді зразки походять із суміші трьох різних сортів: «Kama», «Rosa» та «Canadian». У цій вправі виконайте кластеризацію зразків на три кластери та порівняйте їх із сортами за допомогою перехресної таблиці.
У вас є масив samples із зразками та список varieties із назвою сорту для кожного зразка. Pandas (pd) і KMeans уже імпортовано.
Ця вправа є частиною курсу
Наглядове навчання в Python
Інструкції до вправи
- Створіть модель
KMeansз назвоюmodelіз3кластерами. - Скористайтеся методом
.fit_predict()об'єктаmodel, щоб навчити його наsamplesі отримати мітки кластерів. Використання.fit_predict()еквівалентне послідовності.fit()і.predict(). - Створіть датафрейм
dfіз двома стовпцями з назвами'labels'і'varieties', використавши відповідно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)