Практикум по кластеризации
Модуль 1. Основы кластеризации
Понятие кластеризации, признаки, расстояния и геометрия данных.
Теория
Симулятор
Распознать задачу кластеризации
Проверьте, отличаете ли вы кластеризацию от классификации, регрессии и ручной сегментации. В каждом пункте выберите лучший ответ.
Кластеризация РешитьПочему нет единственного разбиения
Проверьте, понимаете ли вы, почему кластеризация зависит от постановки задачи.
Кластеризация РешитьКачество разбиения: компактность и разделенность
Кластеризация не сводится к красивой картинке. Нужно понимать, какие свойства делают разбиение полезным и какие требования являются ложными.
Кластеризация РешитьСилуэт одного объекта
Напишите функцию silhouette_for_point(a, b), где a — среднее расстояние до объектов своего кластера, а b — среднее расстояние до ближайшего …
Коэффициент силуэта РешитьВыбор признаков для сегментации
Перед кластеризацией важно определить объект анализа, признаки и цель группировки. Разберите несколько ситуаций и выберите решение, которое делает постановку задачи …
Кластеризация РешитьВычисление евклидова расстояния
Напишите функцию euclidean_distance(p1, p2), которая принимает две точки [x, y] и возвращает расстояние между ними.Проверяются разные случаи: классический треугольник 3-4-5, …
Расстояние между точками (Евклидово) РешитьКогда масштаб признаков мешает
Проверьте, понимаете ли вы, как масштаб признаков влияет на расстояния и почему нормализация является частью постановки задачи.
Расстояние между точками (Евклидово) РешитьMin-max нормализация признака
Напишите функцию minmax_scale(values), которая принимает список чисел и возвращает список значений, приведенных к диапазону от 0 до 1.Если все значения …
Расстояние между точками (Евклидово) РешитьНазначение к ближайшему центру
Напишите функцию nearest_centroid_label(point, centroids). Словарь centroids хранит названия кластеров и координаты центров. Верните название ближайшего к точке центра.Это минимальная версия …
Алгоритмы разбиения (Partitioning) РешитьОпределение геометрии данных
В этом задании нужно связать форму данных с ограничениями алгоритмов, которые используют центр кластера и прямое расстояние.
Произвольная (сложная) геометрия РешитьГеометрия как сигнал риска
Научитесь видеть по форме данных, где простые центроидные методы могут дать красивый, но неправильный результат.
Произвольная (сложная) геометрия РешитьИтоговый кейс: спроектировать первую кластеризацию
Финальная проверка первого модуля. Представьте, что вы готовите первую кластеризацию клиентов для аналитического отчета: нужно выбрать признаки, подготовить расстояния, оценить …
Кластеризация РешитьЧто показывает инерция
Разберитесь, что означает целевая функция K-Means и чего она не гарантирует.
Критерий качества кластеризации РешитьПосчитать инерцию разбиения
Напишите функцию total_inertia(points, centroids, labels). Она должна вернуть сумму квадратов расстояний от каждой точки до центроида назначенного ей кластера.
Критерий качества кластеризации РешитьElbow и силуэт при выборе K
Проверьте, почему при выборе числа кластеров полезно смотреть не только на инерцию.
Коэффициент силуэта РешитьКогда DBSCAN уместен
Оцените ситуации, где плотностный подход особенно полезен.
Произвольная (сложная) геометрия РешитьВыбор иерархического критерия
Выберите разумный linkage-критерий или метод под практическую ситуацию.
Критерий качества кластеризации РешитьВыбор метода пятого модуля
Выберите метод под задачу и ограничения данных.
Критерий качества кластеризации РешитьИтоговый кейс пятого модуля
Финальный кейс: сравните методы пятого модуля и выберите корректную интерпретацию.
Критерий качества кластеризации РешитьВыбрать метод под ситуацию
Финальная задача на сопоставление формы данных, цели анализа и подходящего семейства алгоритмов.
Критерий качества кластеризации РешитьИтоговый аудит кластеризации
Проведите финальную диагностику результата: метрики, параметры, интерпретация и ограничения.
Критерий качества кластеризации РешитьМодуль 2. Центроидные методы
Центроиды, инерция, выбор числа кластеров и масштабируемые варианты.
Теория
Симулятор
Силуэт одного объекта
Напишите функцию silhouette_for_point(a, b), где a — среднее расстояние до объектов своего кластера, а b — среднее расстояние до ближайшего …
Коэффициент силуэта РешитьШаги алгоритма K-Means
Проверьте, понимаете ли вы, что именно происходит на итерации K-Means.
K-Means РешитьНазначить точки ближайшим центроидам
Напишите функцию assign_points(points, centroids). Она должна вернуть список номеров ближайших центроидов для каждой точки. Нумерация центроидов начинается с нуля.
K-Means РешитьПересчитать центроид кластера
Напишите функцию compute_centroid(points), которая возвращает среднее положение точек кластера. Точки могут быть двумерными или многомерными.
K-Means РешитьОдна итерация K-Means
Напишите функцию kmeans_step(points, centroids). Нужно назначить точки ближайшим центроидам и вернуть новые центроиды в том же порядке.
K-Means РешитьПосчитать ошибку кластера
Напишите функцию cluster_sse(points, centroid), которая считает сумму квадратов расстояний от точек до центроида.
K-Means РешитьКогда K-Means ошибается
Выберите ситуации, где результат K-Means нужно проверять особенно внимательно.
K-Means РешитьИнициализация и локальный оптимум
Разберите, почему один запуск K-Means не всегда достаточно надежен.
K-Means РешитьВеса выбора k-means++
В k-means++ следующая стартовая точка выбирается с вероятностью, пропорциональной квадрату расстояния до ближайшего уже выбранного центра. Напишите функцию kmeanspp_weights(points, centers), …
K-Means РешитьMiniBatch K-Means: скорость и точность
Проверьте, когда MiniBatch K-Means полезнее полного K-Means.
MiniBatch K-Means РешитьОбновить центроид по мини-батчу
Напишите функцию minibatch_update(old_centroid, batch_points, learning_rate). Сначала найдите среднее мини-батча, затем сдвиньте старый центроид по формуле old + learning_rate * (batch_mean …
MiniBatch K-Means РешитьЛогика Bisecting K-Means
Проверьте, чем Bisecting K-Means отличается от обычного K-Means.
Bisecting K-Means РешитьВыбрать кластер для разбиения
Напишите функцию choose_split_cluster(sse_values), которая получает список ошибок кластеров и возвращает индекс кластера с максимальной ошибкой.
Bisecting K-Means РешитьИтоговый кейс: выбрать вариант K-Means
Выберите подходящий вариант алгоритма для разных ситуаций.
K-Means РешитьЧто показывает инерция
Разберитесь, что означает целевая функция K-Means и чего она не гарантирует.
Критерий качества кластеризации РешитьПосчитать инерцию разбиения
Напишите функцию total_inertia(points, centroids, labels). Она должна вернуть сумму квадратов расстояний от каждой точки до центроида назначенного ей кластера.
Критерий качества кластеризации РешитьВыбор K по кривой ошибки
Оцените несколько значений K по динамике инерции.
Число кластеров (k) РешитьElbow и силуэт при выборе K
Проверьте, почему при выборе числа кластеров полезно смотреть не только на инерцию.
Коэффициент силуэта РешитьНайти самый сильный спад ошибки
Напишите функцию best_drop_k(inertias). Список содержит инерцию для K=1,2,3,... Верните значение K, при переходе к которому ошибка упала сильнее всего.
Число кластеров (k) РешитьФорма и размеры кластеров
Проверьте, какие геометрические структуры подходят K-Means, а какие требуют осторожности.
Выпуклая геометрия РешитьМасштабируемость K-Means
Выберите подходящий вариант K-Means с учетом размера данных.
Высокая масштабируемость РешитьK-Means как сжатие данных
Проверьте, понимаете ли вы применение K-Means как набора прототипов.
Векторное квантование (Сокращение данных) РешитьЗаменить точки центроидами
Напишите функцию replace_with_centroids(labels, centroids). Она должна вернуть список центроидов, соответствующих меткам объектов.
Векторное квантование (Сокращение данных) РешитьВыбор иерархического критерия
Выберите разумный linkage-критерий или метод под практическую ситуацию.
Критерий качества кластеризации РешитьВыбор метода пятого модуля
Выберите метод под задачу и ограничения данных.
Критерий качества кластеризации РешитьИтоговый кейс пятого модуля
Финальный кейс: сравните методы пятого модуля и выберите корректную интерпретацию.
Критерий качества кластеризации РешитьМасштабируемость методов
Выберите метод с учетом размера данных и вычислительной стоимости.
Высокая масштабируемость РешитьВыбрать метод под ситуацию
Финальная задача на сопоставление формы данных, цели анализа и подходящего семейства алгоритмов.
Критерий качества кластеризации РешитьИтоговый аудит кластеризации
Проведите финальную диагностику результата: метрики, параметры, интерпретация и ограничения.
Критерий качества кластеризации РешитьМодуль 3. Плотностные методы
Окрестности, локальная плотность, шумовые точки и кластеры сложной формы.
Теория
Симулятор
Определение геометрии данных
В этом задании нужно связать форму данных с ограничениями алгоритмов, которые используют центр кластера и прямое расстояние.
Произвольная (сложная) геометрия РешитьГеометрия как сигнал риска
Научитесь видеть по форме данных, где простые центроидные методы могут дать красивый, но неправильный результат.
Произвольная (сложная) геометрия РешитьЦентроидная или плотностная идея
Проверьте, понимаете ли вы отличие плотностных методов от центроидных.
Плотностные алгоритмы РешитьТермины DBSCAN
Сопоставьте параметры и типы точек в DBSCAN с их смыслом.
DBSCAN РешитьНайти ε-соседей точки
Напишите функцию epsilon_neighbors(index, points, eps). Она должна вернуть индексы всех точек, расстояние от которых до точки points[index] не больше eps. …
Размер окрестности ($\epsilon$) РешитьОпределить ядровые точки
Напишите функцию core_point_indices(points, eps, min_pts), которая возвращает индексы ядровых точек DBSCAN. Точка является ядровой, если в ее ε-окрестности, включая саму …
Мин. объектов (MinPts) РешитьКак параметры меняют DBSCAN
Выберите, как изменение параметров влияет на результат DBSCAN.
Размер окрестности ($\epsilon$) РешитьВыделить шумовые точки
В DBSCAN шумовые точки часто помечают меткой -1. Напишите функцию noise_point_indices(labels), которая возвращает индексы всех шумовых точек.
Поиск аномалий и удаление шума РешитьЯдро, граница или шум
Напишите функцию dbscan_point_role(neighbor_count, min_pts, is_neighbor_of_core). Если число соседей не меньше min_pts, верните 'core'. Если точка не ядровая, но лежит в …
DBSCAN РешитьКогда DBSCAN уместен
Оцените ситуации, где плотностный подход особенно полезен.
Произвольная (сложная) геометрия РешитьРасстояние до k-го соседа
Для подбора ε полезно смотреть расстояния до k-го ближайшего соседа. Напишите функцию k_distance_squared_values(points, k), которая для каждой точки находит квадрат …
Расстояния до ближайших точек РешитьКак движется ФОРЭЛЬ
Проверьте понимание механики алгоритма ФОРЭЛЬ.
Алгоритм ФОРЭЛЬ РешитьОдин сдвиг центра FOREL
Напишите функцию forel_shift(center, points, radius). Она должна взять все точки внутри радиуса от текущего центра и вернуть новый центр как …
Алгоритм ФОРЭЛЬ РешитьСемейство плотностных методов
Сравните методы третьего модуля: какие идеи лежат в основе DBSCAN, ФОРЭЛЬ, Mean Shift, OPTICS и HDBSCAN.
Плотностные алгоритмы РешитьОдин шаг Mean Shift
Напишите функцию mean_shift_step(center, points, bandwidth). Она должна выбрать точки на расстоянии не больше bandwidth от текущего центра и вернуть новый …
Mean-shift РешитьЗачем нужен OPTICS
OPTICS в этом модуле рассматривается как расширение идеи DBSCAN для данных, где один глобальный радиус плохо описывает все кластеры.
OPTICS РешитьРасстояние достижимости
В упрощенной форме reachability-distance — это максимум из core-distance текущей точки и расстояния до соседней точки. Напишите функцию reachability_distance(core_distance, point_distance).
OPTICS РешитьИдея HDBSCAN
HDBSCAN в этом модуле рассматривается как современное расширение плотностного подхода: важно понять идею устойчивых кластеров разной плотности, а не детали …
HDBSCAN РешитьВыбор плотностного метода
Выберите метод под описание данных. Основные методы модуля — DBSCAN и ФОРЭЛЬ; OPTICS и HDBSCAN используются как расширения для случаев …
Плотностные алгоритмы РешитьДиагностика плотностной кластеризации
Финальный кейс модуля: оцените результат плотностного алгоритма и выберите разумное действие.
Выделение множества микро-кластеров РешитьSingle linkage
Напишите функцию single_linkage_distance(cluster_a, cluster_b, distance_matrix). Она должна вернуть минимальное попарное расстояние между объектами двух кластеров.
Расстояния до ближайших точек РешитьЭффект цепи
Single linkage может объединять группы через цепочку близких точек. Проверьте, понимаете ли вы этот риск.
Расстояния до ближайших точек РешитьМодуль 4. Иерархические методы
Агломеративная кластеризация, критерии связи, метод Уорда и дендрограммы.
Теория
Симулятор
Вычисление евклидова расстояния
Напишите функцию euclidean_distance(p1, p2), которая принимает две точки [x, y] и возвращает расстояние между ними.Проверяются разные случаи: классический треугольник 3-4-5, …
Расстояние между точками (Евклидово) РешитьКогда масштаб признаков мешает
Проверьте, понимаете ли вы, как масштаб признаков влияет на расстояния и почему нормализация является частью постановки задачи.
Расстояние между точками (Евклидово) РешитьMin-max нормализация признака
Напишите функцию minmax_scale(values), которая принимает список чисел и возвращает список значений, приведенных к диапазону от 0 до 1.Если все значения …
Расстояние между точками (Евклидово) РешитьЧто показывает инерция
Разберитесь, что означает целевая функция K-Means и чего она не гарантирует.
Критерий качества кластеризации РешитьПосчитать инерцию разбиения
Напишите функцию total_inertia(points, centroids, labels). Она должна вернуть сумму квадратов расстояний от каждой точки до центроида назначенного ей кластера.
Критерий качества кластеризации РешитьРасстояние до k-го соседа
Для подбора ε полезно смотреть расстояния до k-го ближайшего соседа. Напишите функцию k_distance_squared_values(points, k), которая для каждой точки находит квадрат …
Расстояния до ближайших точек РешитьЧто строит иерархический метод
Проверьте, чем иерархическая кластеризация отличается от одного фиксированного разбиения.
Иерархические алгоритмы РешитьНайти ближайшую пару
В агломеративном алгоритме на каждом шаге выбирается ближайшая пара кластеров. Напишите функцию closest_pair(distance_matrix), которая получает квадратную матрицу расстояний и возвращает …
Agglomerative clustering РешитьШаги агломеративного алгоритма
Выберите правильные утверждения о порядке работы агломеративной кластеризации.
Agglomerative clustering РешитьSingle linkage
Напишите функцию single_linkage_distance(cluster_a, cluster_b, distance_matrix). Она должна вернуть минимальное попарное расстояние между объектами двух кластеров.
Расстояния до ближайших точек РешитьComplete linkage
Напишите функцию complete_linkage_distance(cluster_a, cluster_b, distance_matrix). Она должна вернуть максимальное попарное расстояние между объектами двух кластеров.
Иерархические алгоритмы РешитьAverage linkage
Напишите функцию average_linkage_distance(cluster_a, cluster_b, distance_matrix). Она должна вернуть среднее попарное расстояние между объектами двух кластеров.
Иерархические алгоритмы РешитьКакой linkage выбрать
Проверьте, как разные правила расстояния между кластерами влияют на результат.
Иерархические алгоритмы РешитьЭффект цепи
Single linkage может объединять группы через цепочку близких точек. Проверьте, понимаете ли вы этот риск.
Расстояния до ближайших точек РешитьПересчет Ланса-Уильямса
Напишите функцию lance_williams_distance(d_ac, d_bc, d_ab, alpha_a, alpha_b, beta, gamma), которая считает расстояние от объединенного кластера A∪B до кластера C по …
Иерархические алгоритмы РешитьЗачем нужна формула пересчета
Проверьте смысл общей формулы пересчета расстояний в агломеративных методах.
Иерархические алгоритмы РешитьСтоимость объединения Уорда
Напишите функцию ward_merge_cost(size_a, size_b, squared_centroid_distance). Она должна вернуть увеличение критерия Уорда: size_a * size_b / (size_a + size_b) * squared_centroid_distance.
Ward hierarchical clustering РешитьМетод Уорда и компактность
Проверьте, чем метод Уорда отличается от простых linkage-критериев.
Ward hierarchical clustering РешитьСколько кластеров при разрезе
Дана дендрограмма в виде списка высот объединений. Напишите функцию cluster_count_at_height(n_objects, merge_heights, cut_height), которая возвращает число кластеров после горизонтального разреза на …
Иерархические алгоритмы РешитьЧтение дендрограммы
Проверьте, правильно ли вы интерпретируете высоты объединений и разрез дендрограммы.
Иерархические алгоритмы РешитьВыбор иерархического критерия
Выберите разумный linkage-критерий или метод под практическую ситуацию.
Критерий качества кластеризации РешитьИтоговый кейс по дендрограмме
Финальный кейс модуля: выберите корректную интерпретацию результата иерархической кластеризации.
Иерархические алгоритмы РешитьВыбор метода пятого модуля
Выберите метод под задачу и ограничения данных.
Критерий качества кластеризации РешитьИтоговый кейс пятого модуля
Финальный кейс: сравните методы пятого модуля и выберите корректную интерпретацию.
Критерий качества кластеризации РешитьВыбрать метод под ситуацию
Финальная задача на сопоставление формы данных, цели анализа и подходящего семейства алгоритмов.
Критерий качества кластеризации РешитьИтоговый аудит кластеризации
Проведите финальную диагностику результата: метрики, параметры, интерпретация и ограничения.
Критерий качества кластеризации РешитьМодуль 5. Вероятностные и графовые методы
Вероятностные модели, EM-алгоритм, граф сходства и методы представителей.
Теория
Симулятор
Что показывает инерция
Разберитесь, что означает целевая функция K-Means и чего она не гарантирует.
Критерий качества кластеризации РешитьПосчитать инерцию разбиения
Напишите функцию total_inertia(points, centroids, labels). Она должна вернуть сумму квадратов расстояний от каждой точки до центроида назначенного ей кластера.
Критерий качества кластеризации РешитьМасштабируемость K-Means
Выберите подходящий вариант K-Means с учетом размера данных.
Высокая масштабируемость РешитьВыбор иерархического критерия
Выберите разумный linkage-критерий или метод под практическую ситуацию.
Критерий качества кластеризации РешитьМягкая принадлежность GMM
Проверьте, чем мягкая кластеризация отличается от жесткого назначения объектов.
Gaussian mixtures РешитьНормировать ответственности
На E-шаге EM сырые оценки компонент нормируют так, чтобы их сумма для объекта была равна 1. Напишите функцию normalize_responsibilities(scores), которая …
Gaussian mixtures РешитьM-шаг: взвешенное среднее
Напишите функцию weighted_mean_1d(values, weights), которая возвращает взвешенное среднее. Это упрощенная версия пересчета среднего компоненты на M-шаге EM.
Gaussian mixtures РешитьЖесткие метки из вероятностей
Иногда мягкие вероятности переводят в обычные метки по максимальной ответственности. Напишите функцию hard_labels(responsibilities), которая для каждой строки возвращает индекс максимального …
Gaussian mixtures РешитьE-шаг и M-шаг
Проверьте, правильно ли вы понимаете логику EM-алгоритма.
Gaussian mixtures РешитьGMM против K-Means
Сравните вероятностную смесь и центроидный подход.
Gaussian mixtures РешитьИдея спектральной кластеризации
Проверьте, зачем спектральная кластеризация строит граф похожести.
Spectral clustering РешитьRBF-похожесть
Напишите функцию rbf_similarity(squared_distance, gamma), которая возвращает exp(-gamma * squared_distance). Это простая формула веса ребра в графе похожести.
Spectral clustering РешитьСтепени вершин графа похожести
Напишите функцию graph_degrees(adjacency), которая возвращает сумму весов ребер для каждой вершины графа.
Графовое расстояние РешитьПараметры графа похожести
Проверьте, как параметры графа влияют на spectral clustering.
Spectral clustering РешитьПредставители Affinity Propagation
Проверьте, чем представители Affinity Propagation отличаются от центроидов.
Affinity propagation РешитьВыбрать лучшего представителя
Упрощенно exemplar можно выбрать как объект с наибольшей суммарной похожестью к другим объектам. Напишите функцию best_exemplar(similarity_matrix), которая возвращает индекс строки …
Affinity propagation РешитьBIRCH и микрокластеры
Проверьте, зачем BIRCH сжимает данные в микрокластеры.
BIRCH РешитьCF-запись микрокластера
Напишите функцию cf_entry(points), которая возвращает словарь {'n': N, 'ls': LS, 'ss': SS}. LS — покоординатная сумма, SS — покоординатная сумма …
BIRCH РешитьВыбор метода пятого модуля
Выберите метод под задачу и ограничения данных.
Критерий качества кластеризации РешитьИтоговый кейс пятого модуля
Финальный кейс: сравните методы пятого модуля и выберите корректную интерпретацию.
Критерий качества кластеризации РешитьМасштабируемость методов
Выберите метод с учетом размера данных и вычислительной стоимости.
Высокая масштабируемость РешитьВыбрать метод под ситуацию
Финальная задача на сопоставление формы данных, цели анализа и подходящего семейства алгоритмов.
Критерий качества кластеризации РешитьИтоговый аудит кластеризации
Проведите финальную диагностику результата: метрики, параметры, интерпретация и ограничения.
Критерий качества кластеризации РешитьМодуль 6. Оценка и выбор метода
Метрики качества, условия применения и выбор алгоритма под структуру данных.
Теория
Что показывает инерция
Разберитесь, что означает целевая функция K-Means и чего она не гарантирует.
Критерий качества кластеризации РешитьПосчитать инерцию разбиения
Напишите функцию total_inertia(points, centroids, labels). Она должна вернуть сумму квадратов расстояний от каждой точки до центроида назначенного ей кластера.
Критерий качества кластеризации РешитьМасштабируемость K-Means
Выберите подходящий вариант K-Means с учетом размера данных.
Высокая масштабируемость РешитьВыбор иерархического критерия
Выберите разумный linkage-критерий или метод под практическую ситуацию.
Критерий качества кластеризации РешитьВыбор метода пятого модуля
Выберите метод под задачу и ограничения данных.
Критерий качества кластеризации РешитьИтоговый кейс пятого модуля
Финальный кейс: сравните методы пятого модуля и выберите корректную интерпретацию.
Критерий качества кластеризации РешитьАлгоритм, параметр или применение
Разделите базовые элементы постановки задачи: метод, настройку метода и цель применения.
Алгоритм кластеризации РешитьИндуктивный и трансдуктивный сценарий
Проверьте, понимаете ли вы, когда кластеризация работает как исследование одной выборки, а когда нужна модель для новых объектов.
Тип вывода (Inference Type) РешитьВнутренняя или внешняя метрика
Определите, какие метрики можно применять без эталонных меток, а какие требуют внешней разметки.
Метрика качества кластеризации РешитьКогда можно использовать внешнюю оценку
Проверьте условие применения внешних метрик качества.
Известны истинные метки классов РешитьСогласованность пар объектов
Напишите функцию pair_agreement_counts(true_labels, pred_labels). Она должна вернуть список из четырех чисел: пары вместе в обоих разбиениях, вместе только в истинных …
Согласованность с эталонным разбиением РешитьСкорректированный индекс Рэнда
Реализуйте adjusted_rand_index(true_labels, pred_labels) для небольших списков меток. Верните значение, округленное до трех знаков.
Скорректированный индекс Рэнда РешитьКак читать ARI
Проверьте смысл значений скорректированного индекса Рэнда.
Скорректированный индекс Рэнда РешитьИндекс Калински-Харабаша для 1D
Напишите функцию calinski_harabasz_1d(values, labels) для одномерных данных. Верните значение, округленное до трех знаков.
Индекс Калински-Харабаша РешитьИндекс Дэвиса-Болдина для двух групп
Напишите функцию davies_bouldin_1d(values, labels) для двух одномерных кластеров. Разброс кластера считайте как среднее абсолютное отклонение от центра. Верните значение, округленное …
Индекс Дэвиса-Болдина РешитьКогда метрики спорят
Выберите корректную стратегию, если разные метрики качества дают разные рекомендации.
Условие применения метрики качества РешитьДиагональное расстояние Махаланобиса
Напишите функцию mahalanobis_diag_distance(x, y, variances). Для диагональной ковариации используйте формулу sqrt(sum((x_i-y_i)^2 / variance_i)). Верните результат, округленный до трех знаков.
Расстояние Махаланобиса РешитьГотовая матрица расстояний
Проверьте, когда полезна произвольная попарная матрица расстояний.
Любая попарная матрица расстояний РешитьСледующий центр по максимину
Напишите функцию maximin_next_center(points, centers) для одномерных точек. Нужно вернуть точку, у которой расстояние до ближайшего уже выбранного центра максимально.
Алгоритм Максимина РешитьПараметр как причина ошибки
Определите, какой параметр вероятнее всего нужно проверить при типичной ошибке результата.
Параметры РешитьЧисло кластеров по порогу расстояния
В агломеративной иерархии есть n исходных объектов и список высот объединения merge_distances. Напишите clusters_by_threshold(n, merge_distances, threshold): объединения с расстоянием не …
Порог расстояния (Threshold) РешитьBandwidth, damping и branching factor
Сопоставьте параметры с алгоритмами и типичными эффектами.
Ширина окна (Bandwidth) РешитьОценить число листьев CF-дерева
Напишите функцию estimate_birch_leaves(subclusters, branching_factor), которая возвращает минимальное число листьев, если в каждом листе помещается не больше branching_factor микрокластеров.
Фактор ветвления РешитьМасштабируемость методов
Выберите метод с учетом размера данных и вычислительной стоимости.
Высокая масштабируемость РешитьВыбрать метод под ситуацию
Финальная задача на сопоставление формы данных, цели анализа и подходящего семейства алгоритмов.
Критерий качества кластеризации РешитьИтоговый аудит кластеризации
Проведите финальную диагностику результата: метрики, параметры, интерпретация и ограничения.
Критерий качества кластеризации Решить