Как сделать кластерный анализ в excel

Добавил пользователь Алексей Ф.
Обновлено: 04.10.2024

Кластерный анализ - это совокупность методов классификации многомерных наблюдений или объектов, основанных на определении понятия расстояния между объектами с последующим выделением из них групп наблюдений (кластеров, таксонов).

Инструкция . Укажите количество данных, нажмите Далее . Полученное решение сохраняется в файле Word .

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

каждая строка которой, представляет результат измерений k , рассматриваемых признаков на одном из обследованных объектов.
Наиболее трудным считается определение однородности объектов, которые задаются введением расстояния между объектами хi и хj (p(xi, xj)).
Объекты будут однородными в случае p(xi, xj)£ pпор,
где pпор- заданное пороговое значение.
Выбор расстояния (р) является основным моментом исследования, от которого зависят окончательные варианты разбиения. Наиболее распространенными считаются принципы “ближайшего соседа” или “дальнего соседа”. В первом случае за расстояние между кластерами принимают расстояние между ближайшими элементами этих кластеров, а во втором - между наиболее удаленными друг от друга.
В задачах кластерного анализа часто используют Евклидово и Хемингово расстояния.
Евклидово расстояние определяется по формуле:
;
сравнивается близость двух объектов по большому числу признаков.
Хемингово расстояние:
;
используется как мера различия объектов, задаваемых атрибутивными признаками.

Вручную группировать запросы не всегда эффективно: перебрать 200–300 запросов можно за час, на 20–30 тысячуйдет неделя. Автоматическим сервисам группировку я не доверю, так как она определяет структуру и управляемость кампании.

Поэтому придумал свой метод, который ускоряет кластеризацию и даёт осознанный результат. Облегчает жизнь при работе с СЯ от 2–3 тысяч ключевых слов. Пробовал работать с 45 000 — Excel начинал умирать. Список из 200–300 запросов быстрее перебрать руками.

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

Метод

Кластеризация — распределение запросов по кластерам. Кластер — это группа запросов, схожих по смыслу и набору слов. Чтобы выделить такие запросы и объединить их в кластер, нужен признак.

Используем для этого нормализованную форму запроса — уберём окончания и выстроим слова в порядке важности:

Убираем окончания

Слово без окончания — это признак, который объединяет разные словоформы:

Чтобы убирать окончания я использую mystem . Это лемматизатор от Яндекса. Он обрабатывает список слов и возвращает нормализованные значения — леммы.

Определяем важность

Важность слова — вычисляемый параметр для конкретного списка ключевых слов. Он не определяет важность слова в общей картине мира.

Важность слова рассчитывается из частотности и количества упоминаний слов в списке. Рассмотрим на примере.

Берём список запросов с частотностью

  • Купить бумеранг — 1000
  • Бумеранги цена — 700
  • Бумеранги в москве — 750
  • Купить классический бумеранг — 450
  • Цены на бумеранги в москве — 350
  • Купить классический бумеранг в москве — 100

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

Считаем доли частотностей

  • Купить бумеранг — 1000 = 1000/2 = 500
  • Бумеранги цена — 700 = 700/2 = 350
  • Бумеранги в москве — 750 = 750/3 = 250
  • Купить классический бумеранг — 450 = 450/3 = 150
  • Цены на бумеранги в москве — 350 = 350/5 = 70
  • Купить классический бумеранг в москве — 100 = 100/5 = 20

Считаем вес слов

Сортируем по важности

  • 8040 — бумеранг
  • 2010 — купить
  • 840 — цена
  • 640 — москва
  • 340 — классический
  • 70 - на
  • 20 - в

Располагаем запросы по важности

  • Купить бумеранг — бумеранг | купить
  • Бумеранги цена — бумеранг | цена
  • Бумеранги в москве — бумеранг | москва
  • Купить классический бумеранг — бумеранг | купить | классический
  • Цены на бумеранги в москве — бумеранг | цена | москва | на | в
  • Купить классический бумеранг в москве — бумеранг | купить | москва | классический | в

Упорядочиваем и чистим

  • Бумеранг | купить: купить бумеранг — 1000
  • Бумеранг | купить | классический: купить классический бумеранг — 450
  • Бумеранг | купить | москва | классический: купить классический бумеранг в москве — 100
  • Бумеранг | москва: бумеранги в москве — 750
  • Бумеранг | цена: бумеранги цена — 700
  • Бумеранг | цена | москва: цены на бумеранги в москве — 350

В итоге получили первые группы объявлений, с которыми можно работать дальше: укрупнять, объединять, кросс-минусовать. Для этого используем Excel.

Реализация в Excel

Выполняем последовательность действий в таблице (XLS, 537 КБ) с формулами. Кластеризация 1000 запросов займет 30 минут.

Алгоритм одной строкой

Шаг 1. Вычисляем доли весов и разбиваем запросы по словам

Чтобы избежать правки формул называйте все листы и таблицы аналогично таблице-примеру

  • Вычисляем доли весов:
  • Доли весов = Частотность / Кол-во слов.
  • Кол-во слов =LEN ([@Ключ])-LEN (SUBSTITUTE ([@Ключ]," ",""))+1.

Шаг 2. Формируем таблицу-справочник с весами слов

Преобразуем таблицу из формата [W1] [W2] [W3] [W4] [W5] [W6] [W7] [Доли весов] в формат: [W1] → [Доли весов] [W2] → [Доли весов] [W3] → [Доли весов] [W4] → [Доли весов] [W5] → [Доли весов] [W6] → [Доли весов] [W7] → [Доли весов]: Формирование справочника со словами

Преобразуем таблицу из формата [W1] [W2] [W3] [W4] [W5] [W6] [W7] [Доли весов] в формат: [W1] → [Доли весов] [W2] → [Доли весов] [W3] → [Доли весов] [W4] → [Доли весов] [W5] → [Доли весов] [W6] → [Доли весов] [W7] → [Доли весов]: Формирование справочника со словами

  • Удаляем пустые ячейки и считаем кол-во упоминаний каждого слова.

Шаг 3. Выделяем леммы и дорабатываем справочник со словами

Шаг 4. Формируем таблицу-справочник с леммами

Шаг 5. Делаем первичную кластеризацию

Итак, что мы сделали. Разбили запросы по словам. Для каждого слова выделили лемму — можем объединить запросы по общим словам. Для каждой леммы посчитали вес. Остаётся выстроить слова в запросе в порядке важности. Тогда при сортировке по алфавиту запросы сами объединятся в группы объявлений.

Выстраиваем слова в порядке важности функцией SMALL. В диапазоне статусов L1 – L7 ищем самый маленький статус — это самое важное слово во фразе. Затем, ищем второй самый маленький статус — это второе по важности слово во фразе. И так еще пять раз — проверяем оставшиеся столбцы L3 – L7.

Получаем последовательность статусов. Например, 37 → 100 → 200 → 700. Для каждого статуса подтягиваем VLOOKP-ом соответствующую Лемму из справочника Лемм. Соединяем Леммы CONCATENATE-ом и получаемнормализованное значение фразы. Я использую его как название группы объявлений.

Сортируем по алфавиту:

Полная рабочая формула в файле-примере.

Шаг 6. Укрупняем полученные группы

Игнорируя окончания и порядок слов, мы объединили запросы с одинаковым набором слов. Количество групп стремится к количеству слов — это 100 % точность инструмента. Можно использовать, если вы предпочитаете работать с запросами в точном соответствии.

Что можно удалить:

До какой степени укрупнять: я стремлюсь к среднему показателю 2–3 запроса в одной группе объявлений и слежу за максимальным количеством фраз (помним про ограничения систем контекстной рекламы).

Резюме

Полученный список групп удобно кросс-минусовать и двигать между кампаниями. Название группы поможет писать объявления — вы сами определяете важные слова в названии группы.

Отзывы джедаев о кластеризаторе

«Я помогал Роме с созданием инструмента на ранних этапах. Всем рекомендую попробовать кластеризатор для ядра от 2000 ключевых слов → сэкономит время.

Егор Холов, ведущий джедай:

«Методику пробовал, но не использую в работе, потому что нечасто собираю контекст в больших объемах.

Хорошо подойдет для работы с большой семантикой, особенно в свете последних нововведений яндекса по низкочастотным запросам. Группировки помогут сэкономить много времени при подготовке ключевых фраз.

«Кластеризация от Ромы просто находка! Методом пользуюсь каждый раз когда работаю с семантикой — собираю или корректирую кампании.

Больше всего мне нравятся три вещи:

Из минусов: все формулы я копирую из готового шаблона и переключаться между окнами одной программы неудобно. Я бы хотела иметь формулы под рукой, а может сделать в будущем какой-нибудь шаблон, чтобы сократить количество копирований. Ещё хотелось бы сократить время группировки, но пока не нашла способ.

Что дальше

Если у вас список из 200–300 запросов, переберите руками — так быстрее.

Если хотите готовое решение — попросите программистов написать скрипт.

Я постоянно дорабатываю кластеризатор. В следующих итерациях хочу проработать кросс-минусовку групп, добавить справочники минус-слов и максимально автоматизировать кластеризатор на Power Query. Следите за обновлениями!

окно, содержащее дендрограмму, построенную по результатам кластерного анализа.

Полученный график можно редактировать и распечатать непосредственно из Excel или

перенести, воспользовавшись буфером обмена, в какой-либо графический редактор,

например, в CorelDraw. Векторный формат изображения удобен для редактирования при

подготовке иллюстрационной графики. Основным преимуществом данного подхода является

возможность избежать утомительной процедуры экспорта данных из Excel в программу,

выполняющую статистические вычисления, что существенно экономит время.

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Кластерный анализ

  • Шаг №1
  • Шаг №2
  • Видеоинструкция
  • Оформление Word

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

каждая строка которой, представляет результат измерений k , рассматриваемых признаков на одном из обследованных объектов.
Наиболее трудным считается определение однородности объектов, которые задаются введением расстояния между объектами хi и хj (p(xi, xj)).
Объекты будут однородными в случае p(xi, xj)£ pпор,
где pпор— заданное пороговое значение.
Выбор расстояния (р) является основным моментом исследования, от которого зависят окончательные варианты разбиения. Наиболее распространенными считаются принципы “ближайшего соседа” или “дальнего соседа”. В первом случае за расстояние между кластерами принимают расстояние между ближайшими элементами этих кластеров, а во втором — между наиболее удаленными друг от друга.
В задачах кластерного анализа часто используют Евклидово и Хемингово расстояния.
Евклидово расстояние определяется по формуле:
;
сравнивается близость двух объектов по большому числу признаков.
Хемингово расстояние:
;
используется как мера различия объектов, задаваемых атрибутивными признаками.

Пример . Провести классификацию шести объектов, каждый из которых характеризуется двумя признаками (табл.9). В качестве расстояния между объектами принять , расстояние между кластерами исчислить по принципам: 1) “ближайшего соседа” и 2) “дальнего соседа”.

№ п/п 1 2 3 4 5 6
x1 2 4 5 12 14 15
x2 8 10 7 6 6 4

2. Полученные данные помещаем в таблицу (матрицу расстояний).

№ п/п 1 2 3 4 5 6
1 0 2.83 3.16 10.2 12.17 13.6
2 2.83 0 3.16 8.94 10.77 12.53
3 3.16 3.16 0 7.07 9.06 10.44
4 10.2 8.94 7.07 0 2 3.61
5 12.17 10.77 9.06 2 0 2.24
6 13.6 12.53 10.44 3.61 2.24 0

3. Поиск наименьшего расстояния.
Из матрицы расстояний следует, что объекты 4 и 5 наиболее близки P4;5 = 2 и поэтому объединяются в один кластер.

№ п/п 1 2 3 [4] [5] 6
1 0 2.83 3.16 10.2 12.17 13.6
2 2.83 0 3.16 8.94 10.77 12.53
3 3.16 3.16 0 7.07 9.06 10.44
[4] 10.2 8.94 7.07 0 2 3.61
[5] 12.17 10.77 9.06 2 0 2.24
6 13.6 12.53 10.44 3.61 2.24 0

При формировании новой матрицы расстояний, выбираем наименьшее значение из значений объектов №4 и №5.
В результате имеем 5 кластера: S(1), S(2), S(3), S(4,5), S(6)
Из матрицы расстояний следует, что объекты 4,5 и 6 наиболее близки P4,5;6 = 2.24 и поэтому объединяются в один кластер.

№ п/п 1 2 3 [4,5] [6]
1 0 2.83 3.16 10.2 13.6
2 2.83 0 3.16 8.94 12.53
3 3.16 3.16 0 7.07 10.44
[4,5] 10.2 8.94 7.07 0 2.24
[6] 13.6 12.53 10.44 2.24 0

При формировании новой матрицы расстояний, выбираем наименьшее значение из значений объектов №4,5 и №6.
В результате имеем 4 кластера: S(1), S(2), S(3), S(4,5,6)
Из матрицы расстояний следует, что объекты 1 и 2 наиболее близки P1;2 = 2.83 и поэтому объединяются в один кластер.

№ п/п [1] [2] 3 4,5,6
[1] 0 2.83 3.16 10.2
[2] 2.83 0 3.16 8.94
3 3.16 3.16 0 7.07
4,5,6 10.2 8.94 7.07 0

При формировании новой матрицы расстояний, выбираем наименьшее значение из значений объектов №1 и №2.
В результате имеем 3 кластера: S(1,2), S(3), S(4,5,6)
Из матрицы расстояний следует, что объекты 1,2 и 3 наиболее близки P1,2;3 = 3.16 и поэтому объединяются в один кластер.

№ п/п [1,2] [3] 4,5,6
[1,2] 0 3.16 8.94
[3] 3.16 0 7.07
4,5,6 8.94 7.07 0

При формировании новой матрицы расстояний, выбираем наименьшее значение из значений объектов №1,2 и №3.
В результате имеем 2 кластера: S(1,2,3), S(4,5,6)

№ п/п 1,2,3 4,5,6
1,2,3 0 7.07
4,5,6 7.07 0

Таким образом, при проведении кластерного анализа по принципу “ближнего соседа” получили два кластера, расстояние между которыми равно P=7.07
Результаты иерархической классификации объектов представлены на рис. в виде дендрограммы.

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

Оскорбление — это любое поведение, которое беспокоит или расстраивает человека или группу лиц. К угрозам относятся любые угрозы самоубийством, насилием, нанесением ущерба и др. Любое содержимое для взрослых или недопустимое на веб-сайте сообщества. Любое изображение, обсуждение наготы или ссылка на подобные материалы. Оскорбительное, грубое или вульгарное поведение и другие проявления неуважения. Любое поведение, нарушающее лицензионные соглашения, в том числе предоставление ключей продуктов или ссылок на пиратское ПО. Незатребованная массовая рассылка или реклама. Любые ссылки или пропаганда сайтов с вирусным, шпионским, вредоносным или фишинговым ПО. Любое другое неуместное содержимое или поведение в соответствии с правилами использования и кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другими вариантами оскорбления или эксплуатации детей.

В этой статье я расскажу о том, как создать составную кластерную столбчатую диаграмму в Excel, как показано ниже.


Создание столбчатой ​​диаграммы с накоплением и кластеризацией в Excel

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

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


1. После упорядочивания данных выберите диапазон данных, на основе которого вы хотите создать диаграмму, а затем щелкните Вставить > Вставить столбец или гистограмму > Столбец с накоплением, см. снимок экрана:


2. Щелкните правой кнопкой мыши панель ряда данных и выберите Форматировать ряд данных, см. снимок экрана:


3. В Форматировать ряд данных панель, под Варианты серий раздел, изменить Ширина зазора в 0, см. снимок экрана:


4. После этого сложенная кластерная столбчатая диаграмма была успешно создана, теперь вы можете переместить нижнюю легенду вправо или в другое положение по вашему желанию. Щелкните легенду правой кнопкой мыши и выберите Легенда формата, см. снимок экрана:


5. В Легенда формата панели выберите нужную позицию из Параметры легенды вкладку, см. снимок экрана:

Читайте также: