Можете ли вы сравнить различные методы кластеризации в наборе данных без какой-либо базовой правды путем перекрестной проверки?

12

В настоящее время я пытаюсь проанализировать набор данных текстового документа, который не имеет основательной правды. Мне сказали, что вы можете использовать k-кратную перекрестную проверку для сравнения различных методов кластеризации. Однако примеры, которые я видел в прошлом, используют основную правду. Есть ли способ использовать средства K-Fold в этом наборе данных для проверки моих результатов?

mtber75
источник

Ответы:

12

Единственное известное мне приложение для перекрестной проверки кластеризации:

  1. Разделите образец на обучающий набор из 4 частей и набор для тестирования из 1 части.

  2. Примените свой метод кластеризации к обучающему набору.

  3. Примените это также к тестовому набору.

  4. Используйте результаты из шага 2, чтобы назначить каждое наблюдение в наборе испытаний на кластер обучающего набора (например, ближайший центроид для k-средних).

  5. В наборе тестирования подсчитайте для каждого кластера из шага 3 количество пар наблюдений в этом кластере, где каждая пара также находится в одном кластере в соответствии с шагом 4 (таким образом, избегая проблемы идентификации кластера, указанной @cbeleites). Разделите на количество пар в каждом кластере, чтобы получить пропорцию. Наименьшая доля среди всех кластеров является мерой того, насколько хорош метод при прогнозировании принадлежности к кластеру для новых выборок.

  6. Повторите процедуру, начиная с шага 1, с различными частями в комплектах для обучения и тестирования, чтобы сделать ее 5-кратной.

Tibshirani & Walther (2005), «Проверка кластеров с помощью силы прогнозирования», Журнал вычислительной и графической статистики , 14 , 3.

Scortchi - Восстановить Монику
источник
Вы можете далее объяснить, что такое пара наблюдений (и почему мы используем пару наблюдений в первую очередь)? Кроме того, как мы можем определить, что такое «тот же кластер» в обучающем наборе по сравнению с тестовым набором? Я посмотрел статью, но не понял.
Танги
1
@Tanguy: Вы рассматриваете все пары - если наблюдения A, B и C, пары {A, B}, {A, C}, & {B, C} -, и вы не пытаетесь определить " один и тот же кластер "через наборы поездов и тестов, которые содержат разные наблюдения. Вместо этого вы сравниваете два решения кластеризации, примененных к тестовому набору (одно, сгенерированное из обучающего набора, а другое из самого тестового набора), посмотрев, как часто они соглашаются объединять или разделять элементы каждой пары.
Scortchi - Восстановить Монику
Хорошо, тогда две матрицы пары наблюдений, одна в наборе поездов, другая в наборе испытаний, сравниваются с показателем подобия?
Танги
@Tanguy: Нет, вы рассматриваете только пары наблюдений в тестовом наборе.
Scortchi - Восстановить Монику
извините, я не достаточно ясно Нужно взять все пары наблюдений тестового набора, из которых можно построить матрицу, заполненную 0 и 1 (0, если пара наблюдений не лежит в одном кластере, 1, если они есть). Две матрицы рассчитываются, поскольку мы смотрим на пару наблюдений для кластеров, полученных из обучающего набора и из тестового набора. Сходство этих двух матриц затем измеряется с помощью некоторой метрики. Я прав?
Танги
7

Я пытаюсь понять, как бы вы применили перекрестную проверку к методу кластеризации, такому как k-means, поскольку новые поступающие данные изменят центроид и даже распределения кластеризации в существующем.

Что касается неконтролируемой проверки кластеризации, вам может потребоваться количественная оценка стабильности ваших алгоритмов с другим номером кластера для повторно выбранных данных.

Основная идея устойчивости кластеризации может быть показана на рисунке ниже:

введите описание изображения здесь

Вы можете заметить, что с числом кластеризации 2 или 5, есть как минимум два разных результата кластеризации (см. Разбивающие штриховые линии на рисунках), но с числом кластеризации 4 результат относительно стабилен.

Стабильность кластеризации: обзор Ульрике фон Люксембург может быть полезным.

lennon310
источник
7

К

Для простоты объяснения и ясности я бы загрузил кластеризацию.

В целом, вы можете использовать такие передискретизированные кластеры для измерения стабильности вашего решения: оно практически не меняется или полностью меняется?

Даже если у вас нет правды, вы можете, конечно, сравнить кластеризацию, которая возникает в результате разных запусков одного и того же метода (повторной выборки) или результатов разных алгоритмов кластеризации, например, путем суммирования:

km1 <- kmeans (iris [, 1:4], 3)
km2 <- kmeans (iris [, 1:4], 3)
table (km1$cluster, km2$cluster)

#      1  2  3
#   1 96  0  0
#   2  0  0 33
#   3  0 21  0

поскольку кластеры являются номинальными, их порядок может меняться произвольно. Но это означает, что вам разрешено изменять порядок, чтобы кластеры соответствовали. Затем диагональные * элементы подсчитывают случаи, которые назначены одному кластеру, и недиагональные элементы показывают, как изменились назначения:

table (km1$cluster, km2$cluster)[c (1, 3, 2), ]

#      1  2  3
#   1 96  0  0
#   3  0 21  0
#   2  0  0 33

Я бы сказал, что повторная выборка хороша, чтобы определить, насколько стабильна ваша кластеризация в каждом методе. Без этого не имеет большого смысла сравнивать результаты с другими методами.

я,я


Вы не смешиваете перекрестную проверку k-кратности и кластеризацию k-средних, не так ли?

cbeleites недоволен SX
источник
0

Там в последнее время из публикации по методе би-перекрестной проверки для определения количества кластеров здесь .

а кто - то пытается реализовать с научно-комплект узнать здесь .

72D

Мэтью Гюнтер
источник