Повторение: породы собак
Часть раздела Обучение без учителя путешествия по Machine Learning на Coddy. Урок 19 из 51.
Задание
СреднеВ приюте для собак есть пять комнат для вольеров, и он хочет, чтобы похожие породы жили в одной комнате. В breeds.csv содержатся данные о 21 породе; в заготовке задана высота среза — cut.
- Масштабируй
featuresи построй дерево методом Уорда. - Построй дендрограмму на
ax: поверни названия пород на 90 градусов, останови раскраску на уровне среза и добавь серую пунктирную линию среза. Покажи график. - Разрежь дерево, опиши группы в исходных единицах и выведи их от самых лёгких к самым тяжёлым, назвав каждую в честь её первой породы.
Для другого приюта:
5 breeds like Maltese: 4.1 kg, 24 cm, energy 3.2, 14.4 years
3 breeds like Whippet: 12.7 kg, 46 cm, energy 4.7, 13.3 yearsи его дерево, разрезанное на 2 группы:
Затем Coddy опишет твоё дерево.
Попробуйте сами
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from scipy.cluster.hierarchy import linkage, dendrogram, fcluster
# 21 порода собак: вес (kg), рост (cm), уровень активности от 1 до 5, продолжительность жизни (years)
breeds = pd.read_csv("breeds.csv")
features = ["weight_kg", "height_cm", "energy", "lifespan_yr"]
# В приюте пять помещений для собак, поэтому дерево обрезается на этой высоте
cut = 2.5
fig, ax = plt.subplots(figsize=(8, 5))
fig.subplots_adjust(bottom=0.35) # место для названий под деревом
ax.set_title("Dog Breeds")
ax.set_ylabel("Merge height")
# Напишите свой код ниже
Все уроки раздела Обучение без учителя
1Поиск групп
Обучение без метокИзмерение сходстваK-Means вручнуюK-Means в scikit-learnПовторение: участники спортзала4Иерархическая кластеризация
Пошаговое объединениеАгломеративные моделиДендрограммыПовторение: породы собак2Выбор k
ИнерцияМетод локтяОценки силуэтаМасштабирование перед кластеризациейПовторение: зоны доставкиПотренируйтесь самостоятельно: Онлайн-компилятор Python