что такое кластеризация данных в машинном обучении
Кластерные алгоритмы и их значение в машинном обучении
Кластеризация – это мощный метод машинного обучения, включающий группировку по точкам данных. Имея набор различных точек данных, ученые могут использовать алгоритм кластеризации для классификации или классификации каждой точки данных в отдельную группу. Теоретически, точки данных, присутствующие в одной группе, обладают схожими характеристиками или свойствами. С другой стороны, точки данных, входящие в отдельные группы, обладают весьма уникальными характеристиками или свойствами.
Кластеризация – это метод обучения без присмотра и популярный среди ученых, занимающихся данными, метод получения статистического анализа данных в различных областях. Люди используют кластерный анализ в науке о данных, чтобы получить критическое представление. Они анализируют группы, в которые попадает каждая точка данных при применении алгоритмов кластеризации. Вы новичок в кластеризации алгоритмов и хотите узнать их входы и выходы? Продолжайте читать эту статью, поскольку в ней обсуждается все, что вы должны знать об основах кластеризации алгоритмов.
Значение кластеризации
Алгоритмы кластеризации необходимы для того, чтобы исследователи данных обнаружили врожденные группировки среди немаркированных и маркированных наборов данных. Удивительно, но нет никаких конкретных критериев для выделения хорошей кластеризации. Это сводится к индивидуальным предпочтениям, требованиям и тому, что использует специалист по данным для удовлетворения своих потребностей.
Скажем, например, можно было бы заинтересоваться обнаружением однородных представителей групп (редукция данных), в естественных кластерах и определением их неизвестных свойств. Некоторые также хотят найти неординарные объекты данных и другие подходящие группировки. Как бы то ни было, этот алгоритм делает несколько предположений, составляющих сходство между различными точками. Более того, каждое предположение делает новые, но одинаково хорошо обоснованные кластеры.
Методы кластеризации
Иерархические методы
Созданные в этой процедуре кластеры создают древовидную структуру, представляющую иерархию. Новые кластеры, появляющиеся на дереве, происходят из ранее сформированных комков. Эксперты разделили их на следующие категории:
Агломерационный
Подход “снизу вверх” – каждая точка данных представляет собой единый кластер, и они непрерывно сливаются (агломерат) до тех пор, пока все не будут постепенно сливаться в один кластер. Этот процесс также известен как HAC.
Разделяющий
Подход сверху вниз – Начиная со всех данных, содержащихся в одном кластере, которые постепенно разбиваются до тех пор, пока все точки данных не будут разделены.
Методы на основе плотности
Методы, основанные на плотности, рассматривают кластеры как более плотные регионы с некоторыми сходствами и различиями по сравнению с менее плотными регионами. Подобные методы обеспечивают отличную точность и могут с легкостью комбинировать два кластера.
Методы на основе сетки
Методы, основанные на сетке, формулируют пространство данных в ограниченном количестве ячеек, образуя структуру, напоминающую обычную сетку. Каждая операция кластеризации, выполняемая на этих решетках, независима и быстра.
Методы разбиения
Методы разделения разделяют объекты, превращая их в k кластеров. Каждый раздел создает один кластер. Специалисты по данным часто используют этот метод для оптимизации функций беспристрастного сходства, особенно когда расстояние является значимым параметром.
Что такое К-образные кластеры?
К-Минс (k-means)- это, пожалуй, наиболее узнаваемый алгоритм кластеризации. Этот алгоритм преподается на большинстве курсов машинного обучения и информатики, особенно на вводных занятиях. Понимать его довольно легко, а реализовать его в коде еще проще. К-Минс выделяется на фоне других алгоритмов своим быстрым темпом. Большинство из нас вычисляет расстояния между групповыми центрами и точками с минимальными вычислениями. Так что сложность часто бывает линейной O Алгоритм кластеризации был революционным в мире науки о данных. Во многих областях он используется и дает отличные результаты. Ниже приведены примеры из реального мира, демонстрирующие полезность этого алгоритма. Фальшивые новости не являются чем-то новым, но они более распространены, чем десять лет назад. Технологические инновации в основном отвечают за создание и распространение неавторизованных историй на различных онлайн-платформах. Два студента Калифорнийского университета использовали алгоритмы кластеризации для распознавания фальшивых новостей. Алгоритм получал контент из различных новостных статей и изучал их слова. Кластеры помогают алгоритму распознавать подлинные и неискренние кусочки. Студенты факультетов информатики узнали, что в статьях, использующих клик-манипуляцию, используется сенсационный словарь. Это указывало на то, что большинство статей, использующих сенсационность, не являются подлинными. Крупные компании стремятся к таргетированию и персонализации своих продуктов. Они делают это, анализируя особенности людей и делясь программами для их привлечения. Это проверенный и апробированный метод, который помогает организациям нацеливаться на конкретную аудиторию. К сожалению, некоторые компании безуспешно работают в области продаж и маркетинга. Вы будете удивлены, увидев, насколько полезны алгоритмы кластеризации для фэнтези-футбола и различных других видов цифрового спорта. Людям часто трудно определить, кого они должны добавить в свою команду. Выбор высококлассных игроков, особенно в начале сезона, довольно сложен. Почему? Потому что вы не знаете текущую форму спортсмена. Не имея в своем распоряжении практически никаких данных о выступлении, ты можешь воспользоваться преимуществами безупречного обучения. Это может помочь вам обнаружить похожих игроков, использующих некоторые из их атрибутов. K означает, что кластеризация особенно удобна в таких ситуациях, давая вам преимущество на старте лиги. В то время как алгоритмы кластеризации могут помочь в различных видах преступной деятельности, давайте сосредоточимся на мошенническом поведении таксиста. Допустим, вы хотите выяснить, лжет ли водитель о пройденной за день дистанции. Как определить, лжет ли он или говорит правду? С помощью кластеризации можно проанализировать GPS-журналы и создать группу идентичного поведения. Можно изучить характеристики группы и классифицировать мошенническое и подлинное поведение. Наши почтовые ящики содержат ненужные папки с многочисленными сообщениями, идентифицированными как спам. Многие курсы компьютерного обучения используют фильтр спама для демонстрации кластеризации и неконтролируемого обучения. Спам – это, пожалуй, самая раздражающая часть маркетинговых техник. Некоторые люди также используют их для фишинга личных данных других людей. Компании предотвращают такие письма, используя алгоритмы для идентификации спама и помечания его флажками. K означает, что методы кластеризации достаточно эффективны для идентификации спама. Они просматривают различные части электронной почты, такие как содержимое, отправитель и заголовок, чтобы определить, являются ли они мусорными. Это повышает точность в десять раз и защищает людей от фишинга и других цифровых преступлений. При суммировании, кластеризация в основном остается постоянной и применяется к многочисленным сценариям. Вы можете делать точные поведенческие прогнозы, используя этот универсальный алгоритм. После того, как вы разработаете прочную основу из сгруппированных данных, возможности будут бесконечны. Привет всем! Приглашаем изучить седьмую тему нашего открытого курса машинного обучения! UPD: теперь курс — на английском языке под брендом mlcourse.ai со статьями на Medium, а материалами — на Kaggle (Dataset) и на GitHub. Видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017). Основное отличие методов обучения без учителя от привычных классификаций и регрессий машинного обучения в том, что разметки для данных в этом случае нет. От этого образуются сразу несколько особенностей — во-первых это возможность использования несопоставимо больших объёмов данных, поскольку их не нужно будет размечать руками для обучения, а во-вторых это неясность измерения качества методов, из-за отсутствия таких же прямолинейных и интуитивно понятных метрик, как в задачах обучения с учителем. Одной из самых очевидных задач, которые возникают в голове в отсутствие явной разметки, является задача снижения размерности данных. С одной стороны её можно рассматривать как помощь в визуализации данных, для этого часто используется метод t-SNE, который мы рассмотрели во второй статье курса. С другой стороны подобное снижение размерности может убрать лишние сильно скоррелированные признаки у наблюдений и подготовить данные для дальнейшей обработки в режиме обучения с учителем, например сделать входные данные более «перевариваемыми» для деревьев решений. Метод главных компонент (Principal Component Analysis) — один из самых интуитивно простых и часто используемых методов для снижения размерности данных и проекции их на ортогональное подпространство признаков. В общем случае размерность этого эллипсоида будет равна размерности исходного пространства, но наше предположение о том, что данные лежат в подпространстве меньшей размерности, позволяет нам отброс ить «лишнее» подпространство в новой проекции, а именно то подпространство, вдоль осей которого эллипсоид будет наименее растянут. Мы будем это делать «жадно», выбирая по-очереди в качестве нового элемента базиса нашего нового подпространства последовательно ось эллипсоида из оставшихся, вдоль которой дисперсия будет максимальной. «To deal with hyper-planes in a 14 dimensional space, visualize a 3D space and say ‘fourteen’ very loudly. Everyone does it.» — Geoffrey Hinton Рассмотрим как это делается математически: Чтобы снизить размерность наших данных из Начнём с того, что посчитаем дисперсии и ковариации исходных признаков. Это делается просто с помощью матрицы ковариации. По определению ковариации, для двух признаков где Таким образом матрица ковариации представляет собой симметричную матрицу, где на диагонали лежат дисперсии соответствующих признаков, а вне диагонали — ковариации соответствующих пар признаков. В матричном виде, где Чтобы освежить память — у матриц как у линейных операторов есть такое интересное свойство как собственные значения и собственные вектора (eigenvalues и eigenvectors). Эти штуки замечательны тем, что когда мы нашей матрицей действуем на соответствующее линейное пространство, собственные вектора остаются на месте и лишь умножаются на соответствующие им собственные значения. То есть определяют подпространство, которое при действии этой матрицей как линейным оператором, остаётся на месте или «переходит в себя». Формально собственный вектор Матрицу ковариации для нашей выборки Дальнейшие шаги просты до безобразия — надо просто умножить нашу матрицу данных на эти компоненты и мы получим проекцию наших данных в ортогональном базисе этих компонент. Теперь если мы транспонируем нашу матрицу данных и матрицу векторов главных компонент, мы восстановим исходную выборку в том пространстве, из которого мы делали проекцию на компоненты. Если количество компонент было меньше размерности исходного пространства, мы потеряем часть информации при таком преобразовании. Начнём с того, что загрузим все необходимые модули и покрутим привычный датасет с ирисами по примеру из документации пакета scikit-learn. Теперь посмотрим, насколько PCA улучшит результаты для модели, которая в данном случае плохо справится с классификацией из-за того, что у неё не хватит сложности для описания данных: Теперь попробуем сделать то же самое, но с данными, для которых мы снизили размерность до 2D: Смотрим на возросшую точность классификации: Видно, что качество возросло незначительно, но для более сложных данных более высокой размерности, где данные не разбиваются тривиально вдоль одного признака, применение PCA может достаточно сильно улучшить качество работы деревьев решений и ансамблей на их основе. Посмотрим на 2 главные компоненты в последнем PCA-представлении данных и на тот процент исходной дисперсии в даных, который они «объясняют». Теперь возьмем набор данных по рукописным цифрам. Мы с ним уже работали в 3 статье про деревья решений и метод ближайших соседей. Вспомним, как выглядят эти цифры – посмотрим на первые десять. Картинки здесь представляются матрицей 8 x 8 (интенсивности белого цвета для каждого пикселя). Далее эта матрица «разворачивается» в вектор длины 64, получается признаковое описание объекта. Получается, размерность признакового пространства здесь – 64. Но давайте снизим размерность всего до 2 и увидим, что даже на глаз рукописные цифры неплохо разделяются на кластеры. Ну, правда, с t-SNE картинка получается еще лучше, поскольку у PCA ограничение – он находит только линейные комбинации исходных признаков. Зато даже на этом относительно небольшом наборе данных можно заметить, насколько t-SNE дольше работает. На практике, как правило, выбирают столько главных компонент, чтобы оставить 90% дисперсии исходных данных. В данном случае для этого достаточно выделить 21 главную компоненту, то есть снизить размерность с 64 признаков до 21. Интуитивная постановка задачи кластеризации довольно проста и представляет из себя наше желание сказать: «Вот тут у меня насыпаны точки. Я вижу, что они сваливаются в какие-то кучки вместе. Было бы круто иметь возможность эти точки относить к кучкам и в случае появления новой точки на плоскости говорить, в какую кучку она падает.» Из такой постановки видно, что пространства для фантазии получается много, и от этого возникает соответствующее множество алгоритмов решения этой задачи. Перечисленные алгоритмы ни в коем случае не описывают данное множество полностью, но являются примерами самых популярных методов решения задачи кластеризации. Алгоритм К-средних, наверное, самый популярный и простой алгоритм кластеризации и очень легко представляется в виде простого псевдокода: В случае обычной евклидовой метрики для точек лежащих на плоскости, этот алгоритм очень просто расписывается аналитически и рисуется. Давайте посмотрим соответствующий пример: Также стоит заметить, что хоть мы и рассматривали евклидово расстояние, алгоритм будет сходиться и в случае любой другой метрики, поэтому для различных задач кластеризации в зависимости от данных можно экспериментировать не только с количеством шагов или критерием сходимости, но и с метрикой, по которой мы считаем расстояния между точками и центроидами кластеров. Другой особенностью этого алгоритма является то, что он чувствителен к исходному положению центроид кластеров в пространстве. В такой ситуации спасает несколько последовательных запусков алгоритма с последующим усреднением полученных кластеров. В отличие от задачи классификации или регресии, в случае кластеризации сложнее выбрать критерий, с помощью которого было бы просто представить задачу кластеризации как задачу оптимизации. здесь Понятно, что здравый смысл в этом есть: мы хотим, чтобы точки располагались кучно возле центров своих кластеров. Но вот незадача: минимум такого функционала будет достигаться тогда, когда кластеров столько же, сколько и точек (то есть каждая точка – это кластер из одного элемента). Видим, что Само по себе решение задачи K-means NP-трудное (NP-hard), и для размерности Ещё один пример алгоритма кластеризации. В отличие от алгоритма К-средних, данный подход не требует заранее определять число кластеров, на которое мы хотим разбить наши данные. Основная идея алгоритма заключается в том, что нам хотелось бы, чтобы наши наблюдения кластеризовались в группы на основе того, как они «общаются», или насколько они похожи друг на друга. Заведём для этого какую-нибудь метрику «похожести», определяющуюся тем, что Теперь опишем сам процесс «общения». Для этого заведём две матрицы, инициализируемые нулями, одна из которых После этого данные матрицы обновляются по очереди по правилам: Спектральная кластеризация объединяет несколько описанных выше подходов, чтобы получить максимальное количество профита от сложных многообразий размерности меньшей исходного пространства. Для работы этого алгоритма нам потребуется определить матрицу похожести наблюдений (adjacency matrix). Можно это сделать таким же образом, как и для Affinity Propagation выше: Наверное самый простой и понятный алгоритм кластеризации без фиксированного числа кластеров — агломеративная кластеризация. Интуиция у алгоритма очень простая: Сам процесс поиска ближайших кластеров может происходить с использованием разных методов объединения точек: Профит первых трёх подходов по сравнению с четвёртым в том, что для них не нужно будет пересчитывать расстояния каждый раз после склеивания, что сильно снижает вычислительную сложность алгоритма. По итогам выполнения такого алгоритма можно также построить замечательное дерево склеивания кластеров и глядя на него определить, на каком этапе нам было бы оптимальнее всего остановить алгоритм. Либо воспользоваться тем же правилом локтя, что и в k-means. К счастью для нас в питоне уже есть замечательные инструменты для построения таких дендрограмм для агломеративной кластеризации. Рассмотрим на примере наших кластеров из K-means: Задача оценки качества кластеризации является более сложной по сравнению с оценкой качества классификации. Во-первых, такие оценки не должны зависеть от самих значений меток, а только от самого разбиения выборки. Во-вторых, не всегда известны истинные метки объектов, поэтому также нужны оценки, позволяющие оценить качество кластеризации, используя только неразмеченную выборку. Выделяют внешние и внутренние метрики качества. Внешние используют информацию об истинном разбиении на кластеры, в то время как внутренние метрики не используют никакой внешней информации и оценивают качество кластеризации, основываясь только на наборе данных. Оптимальное число кластеров обычно определяют с использованием внутренних метрик. Adjusted Rand Index (ARI) Предполагается, что известны истинные метки объектов. Данная мера не зависит от самих значений меток, а только от разбиения выборки на кластеры. Пусть То есть это доля объектов, для которых эти разбиения (исходное и полученное в результате кластеризации) «согласованы». Rand Index (RI) выражает схожесть двух разных кластеризаций одной и той же выборки. Чтобы этот индекс давал значения близкие к нулю для случайных кластеризаций при любом Эта мера симметрична, не зависит от значений и перестановок меток. Таким образом, данный индекс является мерой расстояния между различными разбиениями выборки. Adjusted Mutual Information (AMI) Данная мера очень похожа на Аналогично Гомогенность, полнота, V-мера Формально данные меры также определяются с использованием функций энтропии и условной энтропии, рассматривая разбиения выборки как дискретные распределения: здесь Для учёта обеих величин Она является симметричной и показывает, насколько две кластеризации схожи между собой. Силуэт В отличие от описанных выше метрик, данный коэффициент не предполагает знания истинных меток объектов, и позволяет оценить качество кластеризации, используя только саму (неразмеченную) выборку и результат кластеризации. Сначала силуэт определяется отдельно для каждого объекта. Обозначим через С помощью силуэта можно выбирать оптимальное число кластеров И напоследок давайте посмотрим на эти метрики для наших алгоритмов, запущенных на данных рукописных цифр MNIST: Актуальные домашние задания объявляются во время очередной сессии курса, следить можно в группе ВК и в репозитории курса. В демо-версии домашнего задания предлагается поработать с данными Samsung по распознаванию видов активностей людей. Задача интересная, мы на нее посмотрим и как на задачу кластеризации (забыв, что выборка размечена) и как на задачу классификации. Jupyter-заготовка, веб-форма для ответов, там же найдете и решение. Статья написана в соавторстве с yorko (Юрием Кашницким). Материал статьи доступен в виде тетрадки Jupyter в GitHub-репозитории курса.Примеры алгоритма кластеризации в реальном мире Использует
Распознавание фальшивых новостей
Продажи и маркетинг
Чтобы получить максимальную отдачу от своих инвестиций, необходимо правильно ориентироваться на людей. Вы рискуете значительными потерями и недоверием клиентов, не анализируя то, чего хочет ваша аудитория. Алгоритмы кластеризации могут сгруппировать людей со схожими чертами и проанализировать, приобретут ли они Ваш продукт. Создание групп может помочь предприятиям провести тесты, чтобы определить, что им необходимо сделать для улучшения продаж.Фэнтези-спорт
Выявление преступной деятельности
Фильтры спама
Заключительные Мысли
Открытый курс машинного обучения. Тема 7. Обучение без учителя: PCA и кластеризация
Данное занятие мы посвятим методам обучения без учителя (unsupervised learning), в частности методу главных компонент (PCA — principal component analysis) и кластеризации. Вы узнаете, зачем снижать размерность в данных, как это делать и какие есть способы группирования схожих наблюдений в данных.
План этой статьи
0. Введение
1. Метод главных компонент (PCA)
Интуиция, теория и особенности применения
В совсем общем виде это можно представить как предположение о том, что все наши наблюдения скорее всего выглядят как некий эллипсоид в подпространстве нашего исходного пространства и наш новый базис в этом пространстве совпадает с осями этого эллипсоида. Это предположение позволяет нам одновременно избавиться от сильно скоррелированных признаков, так как вектора базиса пространства, на которое мы проецируем, будут ортогональными.
в
, нам нужно выбрать топ-
осей такого эллипсоида, отсортированные по убыванию по дисперсии вдоль осей.
и
их ковариация будет
— матожидание
-ого признака.
При этом отметим, что ковариация симметрична и ковариация вектора с самим собой будет равна его дисперсии.это матрица наблюдений, наша матрица ковариации будет выглядеть как
с собственным значением
для матрицы
определяется просто как
.
можно представить в виде произведения
. Из отношения Релея вытекает, что максимальная вариация нашего набора данных будет достигаться вдоль собственного вектора этой матрицы, соответствующего максимальному собственному значению. Таким образом главные компоненты, на которые мы бы хотели спроецировать наши данные, являются просто собственными векторами соответствующих топ-
штук собственных значений этой матрицы.
Примеры использования
Набор данных по цветкам ириса
Набор данных по рукописным цифрам
2. Кластеризация
K-means
Выбор числа кластеров для kMeans
В случае kMeans распространен вот такой критерий – сумма квадратов расстояний от точек до центроидов кластеров, к которым они относятся.– множество кластеров мощности
,
– центроид кластера
.
Для решения этого вопроса (выбора числа кластеров) часто пользуются такой эвристикой: выбирают то число кластеров, начиная с которого описанный функционал падает «уже не так быстро». Или более формально:
падает сильно при увеличении числа кластеров с 1 до 2 и с 2 до 3 и уже не так сильно – при изменении
с 3 до 4. Значит, в данной задаче оптимально задать 3 кластера.
Сложности
, числа кластеров
и числа точек
решается за
. Для решения такой боли часто используются эвристики, например MiniBatch K-means, который для обучения использует не весь датасет целиком, а лишь маленькие его порции (batch) и обновляет центроиды используя среднее за всю историю обновлений центроида от всех относящихся к нему точек. Сравнение обычного K-means и его MiniBatch имплементации можно посмотреть в документации scikit-learn.
Affinity Propagation
s(x_i, x_k)$» data-tex=»inline»/> если наблюдение
больше похоже на наблюдение
, чем на
. Простым примером такой похожести будет отрицательный квадрат расстояния
.
будет описывать, насколько хорошо
-тое наблюдение подходит для того, чтобы быть «примером для подражания» для
-того наблюдения относительно всех остальных потенциальных «примеров», а вторая —
будет описывать, насколько правильным было бы для
-того наблюдения выбрать
-тое в качестве такого «примера». Звучит немного запутанно, но чуть дальше увидим пример «на пальцах».
Спектральная кластеризация
. Эта матрица также описывает полный граф с вершинами в наших наблюдениях и рёбрами между каждой парой наблюдений с весом, соответствующим степени похожести этих вершин. Для нашей выше выбранной метрики и точек, лежащих на плоскости, эта штука будет интуитивной и простой — две точки более похожи, если ребро между ними короче. Теперь нам бы хотелось разделить наш получившийся граф на две части так, чтобы получившиеся точки в двух графах были в общем больше похожи на другие точки внутри получившейся «своей» половины графа, чем на точки в «другой» половине. Формальное название такой задачи называется Normalized cuts problem и подробнее про это можно почитать тут.
Агломеративная кластеризация
Метрики качества кластеризации
— число объектов в выборке. Обозначим через
— число пар объектов, имеющих одинаковые метки и находящихся в одном кластере, через
— число пар объектов, имеющих различные метки и находящихся в разных кластерах. Тогда Rand Index это
и числе кластеров, необходимо нормировать его. Так определяется Adjusted Rand Index:
принимает значения в диапазоне
. Отрицательные значения соответствуют «независимым» разбиениям на кластеры, значения, близкие к нулю, — случайным разбиениям, и положительные значения говорят о том, что два разбиения схожи (совпадают при
).
. Она также симметрична, не зависит от значений и перестановок меток. Определяется с использованием функции энтропии, интерпретируя разбиения выборки, как дискретные распределения (вероятность отнесения к кластеру равна доле объектов в нём). Индекс
определяется как взаимная информация для двух распределений, соответствующих разбиениям выборки на кластеры. Интуитивно, взаимная информация измеряет долю информации, общей для обоих разбиений: насколько информация об одном из них уменьшает неопределенность относительно другого.
определяется индекс
, позволяющий избавиться от роста индекса
с увеличением числа классов. Он принимает значения в диапазоне
. Значения, близкие к нулю, говорят о независимости разбиений, а близкие к единице – об их схожести (совпадении при
).
— результат кластеризации,
— истинное разбиение выборки на классы. Таким образом,
измеряет, насколько каждый кластер состоит из объектов одного класса, а
— насколько объекты одного класса относятся к одному кластеру. Эти меры не являются симметричными. Обе величины принимают значения в диапазоне
, и большие значения соответствуют более точной кластеризации. Эти меры не являются нормализованными, как
или
, и поэтому зависят от числа кластеров. Случайная кластеризация не будет давать нулевые показатели при большом числе классов и малом числе объектов. В этих случаях предпочтительнее использовать
. Однако при числе объектов более 1000 и числе кластеров менее 10 данная проблема не так явно выражена и может быть проигнорирована.
и
одновременно вводится
-мера, как их среднее гармоническое:
— среднее расстояние от данного объекта до объектов из того же кластера, через
— среднее расстояние от данного объекта до объектов из ближайшего кластера (отличного от того, в котором лежит сам объект). Тогда силуэтом данного объекта называется величина:
(если оно заранее неизвестно) — выбирается число кластеров, максимизирующее значение силуэта. В отличие от предыдущих метрик, силуэт зависит от формы кластеров, и достигает больших значений на более выпуклых кластерах, получаемых с помощью алгоритмов, основанных на восстановлении плотности распределения.
ARI AMI Homogenity Completeness V-measure Silhouette K-means 0.662295 0.732799 0.735448 0.742972 0.739191 0.182097 Affinity 0.175174 0.451249 0.958907 0.486901 0.645857 0.115197 Spectral 0.752639 0.827818 0.829544 0.876367 0.852313 0.182195 Agglomerative 0.794003 0.856085 0.857513 0.879096 0.868170 0.178497 3. Домашнее задание
4. Полезные источники